Einfügemodus
Bewegung
hjkl
Ungeachtet dessen, was Pavel Shved gesagt hat - dass es wahrscheinlich ratsamer ist, sich an den EscAffen-Einfügemodus zu gewöhnen -, ist hier ein Beispielsatz von Zuordnungen für die schnelle Navigation im Einfügemodus:
" 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
Dadurch wird Alt+ him Einfügemodus ein Zeichen nach links, Alt+ nach junten usw. analog zum hjklNormalmodus verschoben.
Sie müssen diesen Code in Ihre vimrc-Datei kopieren, damit er bei jedem Start von vim geladen wird (Sie können ihn öffnen, indem Sie :new $myvimrc
im normalen Modus beginnen).
Alle Bewegungen im normalen Modus
Da die AltModifizierertaste standardmäßig nicht (auf etwas Wichtiges) abgebildet ist, können Sie auf die gleiche Weise andere (oder alle) Funktionen vom Normalmodus in den Einfügemodus ziehen. Beispiel:
Mit Alt+ zum Anfang des aktuellen Wortes wechseln b:
inoremap <A-b> <C-o>b
inoremap <A-w> <C-o>w
(Andere Verwendungen Altim Einfügemodus)
Es ist erwähnenswert, dass der AltSchlüssel möglicherweise besser verwendet werden kann als das Replizieren des Verhaltens im normalen Modus: Hier sind beispielsweise Zuordnungen zum Kopieren des Teils aus der aktuellen Spalte bis zum Zeilenende aus einer benachbarten Zeile:
" 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
(Ich habe \
Zeilenfortsetzung und Einrückung verwendet, um die Übersichtlichkeit zu erhöhen. Die Befehle werden so interpretiert, als ob sie in eine einzelne Zeile geschrieben wären.)
Eingebaute Hotkeys zum Bearbeiten
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)
(Es gibt keine nennenswerten integrierten Hotkeys für Bewegungen im Einfügemodus.)
Referenz: :help insert-index
Befehlszeilenmodus
Diese Zuordnung stellt die oberen Alt+ hjkl Bewegungen in der Befehlszeile zur Verfügung:
" 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>
Alternativ fügen diese Zuordnungen die Bewegungen auf einmal sowohl zum Einfügemodus als auch zum Befehlszeilenmodus hinzu :
" 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>
Die Zuordnungsbefehle zum Ziehen von Befehlen im Normalmodus in den Befehlszeilenmodus unterscheiden sich ein wenig von den Zuordnungsbefehlen für den Einfügemodus (da im Befehlszeilenmodus das Einfügemodus Ctrl+ fehlt 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>'
Eingebaute Hotkeys zum Bewegen und Bearbeiten
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
Referenz: :help ex-edit-index
imap jk <Esc>
) zuordnen, damit Sie Ihren Schwung nicht unterbrechen und über Ihre Tastatur greifen müssen, um die Taste zu drücken.