Chế độ chèn
Phong trào
hjkl
Mặc dù những gì Pavel Shved đã nói - rằng có lẽ nên làm quen với việc sử dụng Escchế độ Chèn hơn - đây là một ví dụ về ánh xạ để điều hướng nhanh trong chế độ Chèn:
" provide hjkl movements in Insert mode via the <Alt> modifier key
inoremap <A-h> <C-o>h
inoremap <A-j> <C-o>j
inoremap <A-k> <C-o>k
inoremap <A-l> <C-o>l
Điều này sẽ làm cho Alt+ htrong chế độ Chèn đi một ký tự bên trái, Alt+ jxuống và cứ thế, tương tự như hjklở chế độ Bình thường.
Bạn phải sao chép mã đó vào tệp vimrc của mình để tải mã mỗi khi bạn khởi động vim (bạn có thể mở mã đó bằng cách nhập :new $myvimrc
bắt đầu ở chế độ Bình thường).
Bất kỳ chuyển động chế độ bình thường
Do Altkhóa sửa đổi không được ánh xạ (theo thứ gì đó quan trọng) theo mặc định, bạn có thể theo cùng một chức năng kéo (hoặc tất cả) khác từ chế độ Bình thường sang chế độ Chèn. Ví dụ:
Di chuyển đến đầu của từ hiện tại với Alt+ b:
inoremap <A-b> <C-o>b
inoremap <A-w> <C-o>w
(Các ứng dụng khác Alttrong chế độ Chèn)
Điều đáng nói là có thể sử dụng Altkhóa tốt hơn so với sao chép hành vi Chế độ bình thường: ví dụ: đây là ánh xạ để sao chép từ một dòng liền kề, phần từ cột hiện tại cho đến cuối dòng:
" Insert the rest of the line below the cursor.
" Mnemonic: Elevate characters from below line
inoremap <A-e>
\<Esc>
\jl
\y$
\hk
\p
\a
" Insert the rest of the line above the cursor.
" Mnemonic: Y depicts a funnel, through which the above line's characters pour onto the current line.
inoremap <A-y>
\<Esc>
\kl
\y$
\hj
\p
\a
(Tôi đã sử dụng \
tiếp tục và thụt dòng để tăng độ rõ ràng - các lệnh được diễn giải như thể được viết trên một dòng duy nhất.)
Các phím nóng tích hợp để chỉnh sửa
CTRL-H delete the character in front of the cursor (same as <Backspace>)
CTRL-W delete the word in front of the cursor
CTRL-U delete all characters in front of the cursor (influenced by the 'backspace' option)
(Không có phím nóng tích hợp đáng chú ý nào để di chuyển trong chế độ Chèn.)
Tài liệu tham khảo: :help insert-index
Chế độ dòng lệnh
Tập hợp ánh xạ này làm cho các chuyển độngAlt + trên có sẵn trong Dòng lệnh:hjkl
" provide hjkl movements in Command-line mode via the <Alt> modifier key
cnoremap <A-h> <Left>
cnoremap <A-j> <Down>
cnoremap <A-k> <Up>
cnoremap <A-l> <Right>
Ngoài ra, các ánh xạ này thêm các chuyển động vào chế độ Chèn và chế độ Dòng lệnh trong một lần:
" provide hjkl movements in Insert mode and Command-line mode via the <Alt> modifier key
noremap! <A-h> <Left>
noremap! <A-j> <Down>
noremap! <A-k> <Up>
noremap! <A-l> <Right>
Các lệnh ánh xạ để kéo các lệnh chế độ Bình thường sang chế độ Dòng lệnh trông hơi khác so với các lệnh ánh xạ chế độ Chèn (vì chế độ Dòng lệnh thiếu chế độ Chèn Ctrl+ O):
" Normal mode command(s) go… --v <-- here
cnoremap <expr> <A-h> &cedit. 'h' .'<C-c>'
cnoremap <expr> <A-j> &cedit. 'j' .'<C-c>'
cnoremap <expr> <A-k> &cedit. 'k' .'<C-c>'
cnoremap <expr> <A-l> &cedit. 'l' .'<C-c>'
cnoremap <expr> <A-b> &cedit. 'b' .'<C-c>'
cnoremap <expr> <A-w> &cedit. 'w' .'<C-c>'
Các phím nóng tích hợp để di chuyển và chỉnh sửa
CTRL-B cursor to beginning of command-line
CTRL-E cursor to end of command-line
CTRL-F opens the command-line window (unless a different key is specified in 'cedit')
CTRL-H delete the character in front of the cursor (same as <Backspace>)
CTRL-W delete the word in front of the cursor
CTRL-U delete all characters in front of the cursor
CTRL-P recall previous command-line from history (that matches pattern in front of the cursor)
CTRL-N recall next command-line from history (that matches pattern in front of the cursor)
<Up> recall previous command-line from history (that matches pattern in front of the cursor)
<Down> recall next command-line from history (that matches pattern in front of the cursor)
<S-Up> recall previous command-line from history
<S-Down> recall next command-line from history
<PageUp> recall previous command-line from history
<PageDown> recall next command-line from history
<S-Left> cursor one word left
<C-Left> cursor one word left
<S-Right> cursor one word right
<C-Right> cursor one word right
<LeftMouse> cursor at mouse click
Tài liệu tham khảo: :help ex-edit-index
imap jk <Esc>
) để bạn không phải phá vỡ động lực và vươn tay qua bàn phím để nhấn phím.