La configuración de mi terminal es gnome-terminal + tmux + zsh con enlaces vi.
En aplicaciones como vim o incluso en el modo de edición vi de la línea de comandos de zsh, necesito presionar la ESCtecla con frecuencia, pero hay un pequeño retraso antes de que se produzcan los efectos de esta tecla. Ver pantalla GNU hace que la tecla Vim ESC sea lenta
Después de experimentar un poco, descubrí que ESCpresionar la tecla e inmediatamente otra tecla (por ejemplo b) tiene el mismo efecto que golpear Alt+b. No sé por qué este es el caso (probablemente por razones heredadas cuando no hubo Alt? No lo sé). De cualquier manera, tengo dos Altclaves y no quiero este comportamiento con mi ESCclave. He intentado C+[y es el mismo problema con eso también.
No estoy seguro de quién es el responsable de esto, gnome-terminal o tmux o mi sistema operativo (Ubuntu Natty). Cualquier idea sobre cómo abordar esto sería genial.
Actualización : Verifiqué sin tmux en un terminal diferente (LXTerminal) y el retraso también está presente allí.
Respuestas:
Aquí hay una solución real. Agregue lo siguiente a
.tmux.conf
:fuente
tmux kill-server
para que esto surta efecto.tmux-prefix
(predeterminadoCtrl+b
) seguido de:
e ingresandosource-file $HOME/.tmux.conf
.El retraso es causado por las rutinas de entrada que pueden tener que decidir si se presionó o no una tecla de función. Para esto, la rutina de entrada inicia un temporizador cada vez que lee en un carácter ESC. Los caracteres que se leen desde la entrada antes de que se agote el temporizador (digamos una décima de segundo) se interpretan como la secuencia ESC de una tecla de función y esta secuencia ESC se comparará con cadenas conocidas de secuencias ESC desde el terminal o el base de datos de termcap (depende de qué rutinas de bajo nivel se usen).
Por supuesto, esto es molesto para las aplicaciones donde ESC se usa por sí solo, pero no conozco ninguna solución para esto.
En cuanto a su pregunta con el comportamiento de ESC a= Meta a:
Las teclas Meta no estaban disponibles con todos los teclados. Como solución alternativa, a menudo se le permitía usar la tecla ESC para presionar antes que la otra tecla.
fuente
Si bien esto puede no solucionar directamente su problema, he descubierto que puedo usar
<Ctrl> c
para salir del modo de inserción. Esto también se puede usar para salir del desplazamiento de la pantalla de tmux (que se puede invocar usando<leader> PgUP
)fuente
<C-c>
para salir del modo de inserción en el uso regular, ya que no ejecuta elInsertLeave
comando automático que algunos complementos podrían estar buscando. Ver:h i_CTRL-C
.