Masukkan mode
Gerakan
hjkl
Meskipun apa yang Pavel Shved mengatakan - bahwa itu mungkin lebih dianjurkan untuk membiasakan diri Escmeniru modus Insert - di sini adalah contoh set pemetaan untuk navigasi cepat dalam mode Insert:
" 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
Ini akan membuat Alt+ hdalam mode Sisipkan pergi satu karakter ke kiri, Alt+ jke bawah dan seterusnya, analog ke hjkldalam mode Normal.
Anda harus menyalin kode itu ke file vimrc Anda untuk memuatnya setiap kali Anda memulai vim (Anda dapat membukanya dengan mengetikkan :new $myvimrc
mulai dalam mode Normal).
Setiap gerakan mode Normal
Karena tombol Altpengubah tidak dipetakan (ke sesuatu yang penting) secara default, Anda dapat dengan cara yang sama menarik fungsionalitas lain (atau semua) dari mode Normal ke mode Insert. Misalnya:
Pindah ke awal kata saat ini dengan Alt+ b:
inoremap <A-b> <C-o>b
inoremap <A-w> <C-o>w
(Penggunaan lain Altdalam mode Sisipkan)
Perlu disebutkan bahwa mungkin ada kegunaan yang lebih baik untuk Altkunci daripada mereplikasi perilaku mode Normal: misalnya di sini adalah pemetaan untuk menyalin dari baris yang berdekatan bagian dari kolom saat ini sampai akhir baris:
" 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
(Saya menggunakan \
kelanjutan garis dan lekukan untuk meningkatkan kejelasan - perintah ditafsirkan seolah-olah ditulis pada satu baris.)
Tombol cepat bawaan untuk mengedit
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)
(Tidak ada tombol pintas bawaan untuk pergerakan dalam mode Sisipkan.)
Referensi: :help insert-index
Mode baris perintah
Kumpulan pemetaan ini membuat gerakanAlt + atas tersedia di baris perintah: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>
Atau, pemetaan ini menambahkan gerakan ke mode Sisipkan dan mode baris perintah dalam sekali jalan:
" 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>
Perintah pemetaan untuk menarik perintah mode Normal ke mode Baris perintah terlihat sedikit berbeda dari perintah pemetaan mode Sisipkan (karena mode baris perintah tidak memiliki mode Sisipkan 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>'
Tombol cepat bawaan untuk gerakan dan pengeditan
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
Referensi: :help ex-edit-index
imap jk <Esc>
) sehingga Anda tidak perlu mematahkan momentum Anda dan menjangkau seluruh keyboard Anda untuk menekan tombol.