Vim: retraso al salir del modo visual

8

Si presiono ESC para salir del modo visual después de seleccionar un texto, hay un retraso notable antes de que el texto no se seleccione y regrese al modo normal (incluso si solo selecciono 1-2 caracteres). ¿Se puede evitar este retraso?


fuente

Respuestas:

2

Esto puede ser causado por estar asignado a alguna funcionalidad adicional. Por ejemplo, uso el complemento de la barra de pestañas y asigna 0-9 para cambiar al buffer de números. Cada vez que una tecla se asigna a una funcionalidad adicional como esta, vim espera unos segundos después de presionarla para ver si presionará alguna tecla adicional.

Para ver si tiene asignaciones adicionales, ejecute :mapy busque <Esc>en la primera columna. Cuando se ejecuta sin ningún parámetro, :mapenumerará todas las asignaciones personalizadas. Si desea enumerar solo las asignaciones mientras está en modo visual, ejecute :vmap.

Si tiene asignaciones adicionales, no conozco una forma de eliminar la pausa, además de eliminar las asignaciones. La pausa es necesaria para que vim sepa inequívocamente qué acción piensa que tome.

Cledoux
fuente
1
En los terminales tipo VT100 (incluidos los terminales Xterm / Rxvt / PuTTY / GNOME), Esctambién es el prefijo para todas las teclas especiales, incluidas las teclas de flecha.
user1686
@grawity: es cierto, pero Vim usa valores de tiempo de espera diferentes para esas secuencias de escape que para las asignaciones, por lo que el manejo de esas secuencias de escape generalmente no causa el problema que se informa aquí. Ver :help 'timeout'.
garyjohn
Gracias, ya está. Ahora solo tengo que encontrar cuáles son esas asignaciones que interfieren con mi uso.
0

No tengo ningún mapeo vinculado a <ESC> globalmente o para el modo Visual (la llamada: verbose vmap <ESC> no da resultados) pero todavía hay un retraso significativo al salir del modo Visual. Incluso en instalaciones nuevas sin vimrc, el retraso está presente. El uso de <Cc> sale del modo visual sin demora.

Como no me gusta presionar <Cc> para salir de ningún modo, actualmente asigno <ESC> a <Cc> en modo visual. Esto sale del modo visual usando <ESC> sin demora.

:vmap <ESC> <C-c>

O ponga la siguiente línea en su vimrc

vnoremap <ESC> <C-c>

Esto no funcionará si tiene asignaciones de modo visual o global vinculadas a <ESC>.

lohfu
fuente
-2

Lo que aún puede hacer es usar CTRL+ Cpara salir del modo Visual, eso debería evitar el retraso.

Florian
fuente