Cambiar hacia y desde el modo de inserción en Vim ya no es instantáneo ya que uso tmux. Después de presionar Escen modo de inserción, lleva una cantidad notable de tiempo salir del modo de inserción. Después de presionar Escy cualquier otra tecla después, el interruptor es inmediato y Escse ejecuta el comando para la tecla presionada después . ¿Alguna idea de lo que podría causar esto?
La configuración de Vim no es el problema, ya que el retraso no ocurre cuando ejecuto Vim fuera de tmux, por lo que esto probablemente esté relacionado con tmux de alguna manera. Yo uso gnome-terminal por cierto.
También vale la pena señalar, parece que no puedo definir las asociaciones de teclas en tmux porque Esc, mi plan era vincularme Esca:
bind Escape send-keys ^[
Por desgracia, parece vinculante Escpara tmux no funciona. El mismo problema ocurre en la pantalla también.
fuente
man tmux
, y el comando no funciona para mí.Tuve un problema diferente pero similar que estaba tratando de resolver cuando encontré esta página, así que lo publicaré aquí en caso de que sea útil para cualquier otra persona que esté buscando esta respuesta y encuentre esta página de la misma manera.
Problema: el modo vi en bash tiene un retraso al cambiar del modo de inserción al modo de comando
Solución: en su
~/.inputrc
archivo, agregueset keyseq-timeout n
donden
hay algún valor bajo mayor que 0. el valorn
predeterminado es 500ms, que es lo que causa el retraso. Ver documentación aquí .Además, si quieres saber en qué modo estás, mira el tenedor de bash de Dylan Cali .
fuente
0.01
y ahora es mucho más rápido. ¡Gracias!/etc/inputrc
para que esté disponible para todos los usuarios.Parece que está utilizando una asignación que comienza con ESC. Cuando presiona ESC, vim tiene que esperar para ver si la siguiente tecla es la que está en la asignación. Si no es así, puede continuar de inmediato.
La configuración de vim puede depender de la terminal, por lo que el hecho de que no ocurra fuera de tmux no significa mucho. Vim puede consultar la
$TERM
variable de entorno y elegir diferentes configuraciones según su valor.Dado que gnome-terminal usa, AFAIK,
xterm
como el valor de la$TERM
variable, y tmux usascreen
, buscaría en todos sus archivos de configuración vim las configuraciones que solo se usan si la$TERM
variable es igual ascreen
. Mi conjetura es que algún archivo de configuración vim en su sistema establece asignaciones para el manejo de teclas de flecha (que comienzan con elESC
carácter) cuando el terminal estáscreen
.Puede probarlo cambiando temporalmente la
$TERM
variable en tmux antes de iniciar vim. Si su shell es bash, llame a vim comoen tmux y vea si el problema persiste. Sin embargo, no debe usar eso como una solución, ya que puede haber diferencias entre las capacidades de terminal de tmux y xterm, y puede encontrarse con algunos problemas.
fuente
TERM=xterm vim
no solucionó el problema. Tendré que cavar un poco más profundo.Como el título menciona Pantalla, aquí está la solución para arreglar el comportamiento de la tecla Escape dentro de la Pantalla GNU. (Tomado de aquí )
Añadir
al
.screenrc
archivo de configuración.fuente