2016-07-04 2 views
0

Ich habe ein question here gefragt, was soll ich zu .vimrc hinzufügen ALT + ein auf „h“ zu kartieren; ALT + s zu "j" und so weiter. Die Lösung wird Hinzufügen der folgenden zu .vimrc:Vim: set ‚Cursor‘ -Tasten hjkl auch wasd in normalen und Insert-Modus

noremap <Esc>a h 
noremap <Esc>s j 
noremap <Esc>w k 
noremap <Esc>d l 

Nun, mein Problem ist, dass diese Lösung nicht in INSERT mode funktioniert (wohl aber in NORMAL mode). Unter Verwendung imap Ergebnisse wie Eingabe von h, j, k, l, iunmap Ergebnisse Fehler.

Wie .vimrc einstellen ALT + WASD machen in INSERT mode wie hjkl "Cursortasten" auch funktioniert?

+6

Lernen Sie Vim, bevor Sie zu viel Zeit im Anpassungsgang Ihres lokalen Kaufhauses verschwenden. – romainl

+0

Beachten Sie, dass Sie hier 'noremap' verwenden, nicht' map'. Hast du "inoremap" statt "imap" versucht? 'noremap' ist nur wirksam in den Modi' n', 'v',' o', nicht im 'i' (insert) Modus. –

Antwort

1

Um es in Insert-Modus funktioniert können Sie einfach diese legen zum .vimrc

inoremap <esc>a <left> 
inoremap <esc>d <right> 
inoremap <esc>w <up> 
inoremap <esc>s <down> 

Sie haben allerdings mit dieser vorsichtig sein, da diese mit anderen Befehlen in Konflikt geraten können, wenn Sie aus Einsatz sind Schalt Modus. Wenn Sie zum Beispiel die gerade bearbeitete Zeile löschen möchten, könnten Sie <esc>dd tun, aber mit diesen Tastenbelegungen würden Sie nach dem nächsten Zeichen eine d hinzufügen.