¿Consecuencias de la configuración tmux 'escape-time 0'?

16

Me parece que cuando se ejecuta (neo) vim en el interior tmux, la tecla de escape se retrasa. Esto se soluciona poniendo

set -sg escape-time 0

en mi .tmux.conf. Presumiblemente, esto deshabilita la posibilidad de usar ESC como la tecla "meta". Suponiendo que siempre trabajo con teclados que tienen una tecla Alt para actuar como "meta", me pregunto qué consecuencias potencialmente indeseables podría implicar esa configuración.

Michael Goerz
fuente

Respuestas:

16

El ajuste escape-timea cero interfiere con tmux que reconoce las teclas de función. Su página de manual dice

escape-time time
Establezca el tiempo en milisegundos durante el cual tmux espera después de que se ingrese un escape para determinar si es parte de una función o secuencias de metaclaves. El valor predeterminado es 500 milisegundos.

El término "tecla de función" se aplica a todo lo que tenga ese formato (incluida la búsqueda de páginas, utilizada en el desplazamiento por tmux y las teclas de cursor). 500 milisegundos pueden ser excesivos si nunca trabaja de forma remota. 20 milisegundos es viable para conexiones locales. El análogo ESCDELAYen ncurses tiene un valor predeterminado de 1000 milisegundos; solo una fracción muy pequeña de usuarios considera necesario cambiar eso.

Thomas Dickey
fuente
hmm ... las teclas de flecha y la paginación parecen funcionar bien en tmux, incluso con el tiempo de escape establecido en 0
Michael Goerz
1
La documentación se refiere a las asociaciones de teclas manejadas por tmux (no las aplicaciones que se ejecutan dentro de tmux).
Thomas Dickey
@AntoineCotten ¿Podría ampliar eso? Pensé que Metano enviaba nada hasta que se combinara con una tecla que no funcionaba, momento en el cual enviaría el escape y la clave "al mismo tiempo" (menos demora que cualquier período de sondeo razonable, suponiendo que sondea en lugar de usar interrupciones o algo.) Seguí mi instinto y nunca establecí el tiempo de espera de escape por debajo de 10, principalmente porque esperaba que causara problemas si el valor predeterminado era tan alto.
John P
El comportamiento de Meta depende de la terminal. tmuxno tiene ningún control sobre eso, pero sí conoce las teclas especiales de xterm (en una tabla). Meta para una clave ordinaria en xterm hace algo (busque eightBitInputen el manual). Para otros terminales, puede hacer algo, pero generalmente no está documentado.
Thomas Dickey
@JohnP @ThomasDickey Anteriormente comenté que la configuración escape-timea 0 interfería con los comandos Meta en mi emulador de terminal. Me gustaría hacer una corrección, esto solo fue cierto porque el terminal macOS se usa Esccomo la tecla Meta . No hay problema al usar una tecla diferente como Alt . Disculpas por el comentario engañoso (eliminado).
Antoine Cotten