Ich habe ein seltsames Problem mit einer Normalmodus-Zuordnung von Esc.
Wenn Sie die Datei escmapvimrc
mit dem Inhalt erstellen :
set nocompatible
set showcmd " Doesn't affect the problem: just makes it easier to see
nnoremap <Esc> :noh<CR><esc>
Und dann starte vim mit diesem vimrc:
vim --noplugin -u escmapvimrc
Dann startet vim im Operator-Pending-Modus, wobei ein c
Befehl auf weitere Eingaben wartet, eine leere Datei anzeigt und die Befehlszeile angezeigt wird :noh
.
Wenn Sie die nnoremap
Leitung entfernen , wird das Problem behoben.
Wenn Sie alles debuggen und durchgehen, erhalten Sie die folgende Ausgabe:
Entering Debug mode. Type "cont" to continue.
/[...]/escmapvimrc
line 1: set nocompatible
>s
/[...]/escmapvimrc
line 2: set showcmd " Doesn't affect the problem: just makes it easier to see
>s
/[...]/escmapvimrc
line 3: nnoremap <Esc> :noh<CR><esc>
>s
/[...]/escmapvimrc
line 4: End of sourced file
>s
Press ENTER or type command to continue
Nachdem Sie die Eingabetaste gedrückt haben, wird der Vim-Startbildschirm angezeigt und darunter:
Entering Debug mode. Type "cont" to continue.
cmd: noh
>s
Der Vim-Startbildschirm wird dann ausgeblendet und Sie befinden sich wie oben beschrieben im Modus für ausstehende Bedienereingaben.
Was ist los?
BEARBEITEN: Das Verhalten ist wie in Vim 7.3 beschrieben. In Vim 7.4.52 wird nmap
Vim im Ersetzungsmodus gestartet, wenn Vim ohne Datei gestartet wird. (Wenn Vim 7.4.52 jedoch mit einer Datei gestartet wird , wird auch ein C-Befehl ausgeführt.) In beiden Fällen verschwindet das Problem, wenn die nmap entfernt wird.
nnoremap <c-l> :noh<cr><c-l>
/alksdjflaskj
, um das Suchhighlight zu löschen, was ebenfalls recht schnell ist.
:noh
für mich nicht angezeigt. Dasselbe mit gvim zu tun, zeigte dieses Verhalten nicht.