Wie kann ich die Eingabetaste in vim neu zuordnen?

1517
scottlabs

Ich habe gerade eine Kinesis Advantage-Tastatur erhalten und möchte Enter in Esc im Einfügemodus in vim neu zuordnen. Ich verwende auch iTerm2.

Hier ist was ich bis jetzt habe:

inoremap <CR> <Esc> inoremap jj <Esc> nnoremap <CR> i

Beim Start funktioniert das nicht: Enter wechselt in den Einfügemodus und jjverlässt im Einfügemodus den Einfügemodus. Enter beendet den Einfügemodus jedoch nicht.

Dann lade ich meine vimrc-Datei neu:

:so $MYVIMRC

Und Viola, meine Enter-Taste verlässt jetzt den Einfügemodus und alles funktioniert gut.

Irgendwelche Gedanken, warum dies passieren würde?

Vielen Dank

0
Wahrscheinlich haben Sie etwas, das das Mapping überschreibt. Was macht "": verbose imap"zeigen? Heptite vor 8 Jahren 0
Aha, genau das passiert. Vor dem Neuladen heißt es: `i * pumvisible ()? "\":" \"Letzter Satz von ~ / vim / bundle / YouCompleteMe / autoload / youcompleteme.vim" und danach: `i * Letzter Satz von ~ / .vimrc`. Vielen Dank! Möchten Sie eine Antwort machen und ich akzeptiere sie? scottlabs vor 8 Jahren 0

1 Antwort auf die Frage

1
Heptite

Dies geschieht, wenn Sie ein Plugin oder ein anderes Skript haben, nachdem Ihr Mapping definiert wurde, das Ihr Mapping überschreibt. Der einfachste Weg, um herauszufinden, welcher Befehl ausgeführt werden soll:

:verbose imap <cr> 

Dadurch erfahren Sie, worauf die Tastenfolge abgebildet ist und welches Skript die Zuordnung definiert hat.