Estoy experimentando un problema extraño con una asignación de modo normal de Esc.
Si crea el archivo escmapvimrc
con el contenido:
set nocompatible
set showcmd " Doesn't affect the problem: just makes it easier to see
nnoremap <Esc> :noh<CR><esc>
Y luego inicie vim usando este vimrc:
vim --noplugin -u escmapvimrc
Luego, vim se iniciará en el modo pendiente del operador con un c
comando en espera de entrada adicional, mostrando un archivo vacío y con la línea de comando en pantalla :noh
.
Si quita la nnoremap
línea, el problema desaparece.
Si depura y recorre todo, obtendrá el siguiente resultado:
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
Después de presionar enter, se muestra la pantalla de inicio de Vim, y debajo:
Entering Debug mode. Type "cont" to continue.
cmd: noh
>s
La pantalla de inicio de Vim desaparece, y está en modo pendiente de operador, como se describió anteriormente.
¿Que esta pasando?
EDITAR: El comportamiento es como se describe en Vim 7.3. En Vim 7.4.52, nmap
hace que Vim se inicie en modo Reemplazar cuando se inicia Vim sin un archivo. ( Sin embargo, si Vim 7.4.52 se inicia con un archivo, también se inicia con un comando c en curso). De cualquier manera, el problema desaparece cuando se elimina el nmap.
nnoremap <c-l> :noh<cr><c-l>
/alksdjflaskj
para aclarar el resaltado de búsqueda, que también es bastante rápido.
:noh
para mí. Hacer lo mismo con gvim no mostró este comportamiento.