Cuando intento cambiar paneles en tmux con ctrl + b, tmux imprime esporádicamente el código de carácter correspondiente [A, [B, [C o [D] en lugar de cambiar paneles.
Puedo hacer esto repetidamente, exactamente de la misma manera, el 75% del tiempo que cambiará correctamente y el otro 25% el tiempo que imprimirá el código de caracteres.
ctrl+b <up arrow> prints [A
ctrl+b <down arrow> prints [B
ctrl+b <right arrow> prints [C
ctrl+b <left arrow> prints [D
Estoy usando cygwin conectado a Linux Mint. Tmux se ejecuta en Linux mint, y el shell que estoy usando es bash.
Editar: para que esta pregunta sea más fácil de buscar, agregaré estas palabras clave:
Los códigos de caracteres de las salidas de terminal abren el soporte A, abre el soporte B, abre el soporte C, abre el soporte D.
¿Algunas ideas?

Respuestas:
Parece que tmux 's
escape-timeestá un poco bajo para la calidad de conexión que tiene entre su sistema Cygwin y el sistema Linux.Muchos terminales generan la secuencia de tres bytes ESC
[Bpara la tecla de flecha hacia abajo. Laescape-timeconfiguración le dice a tmux cuánto tiempo debe esperar una secuencia completa después de recibir el ESC; si el tiempo se agota sin recibir una secuencia completa, tmux tratará los bytes individuales como pulsaciones de teclas individuales (tratando Cb ESC como una tecla tmux independiente y pasando[Bal tty del panel activo).Entonces, o ha
escape-timeestablecido un valor muy bajo (que probablemente funciona bien cuando accede a tmux a través de conexiones estrictamente locales), o la conexión entre las dos máquinas a veces termina un poco más allá de suescape-timevalor. Puede consultar el valor actual con el comandotmux show-options -s | grep escape-time.El valor predeterminado es 500 milisegundos; Esto debería funcionar bien en la mayoría de las situaciones, pero podría ser demasiado corto para conexiones marginales. Puede intentar aumentar el valor de
escape-time:Puede poner esto en su
~/.tmux.confarchivo, ejecutarlo como untmuxcomando en un shell dentro de una sesión tmux , o escribirlo directamente en el indicador tmux (abierto con Cb:). Nota: Los cambios realizados~/.tmux.confno tendrán efecto hasta que vuelva a grabarsourceel archivo o reinicie su servidor tmux .fuente
[se ignora (no está vinculado en lavi-edittabla) yDes eldelete-end-of-linecomando. No hubiera esperado que unaescape-timesubida empeorara el problema de la secuencia de escape interrumpido; sin embargo, haría que los enlaces de estilo vi sean inconvenientes: siempre tendrá que esperar aescape-timeque transcurra después de presionar la tecla ESC (es decir, para salir del modo de inserción) y antes de comenzar a escribir comandos de modo normal (por ejemplo,bpara retroceder una palabra) .[D, pero se detiene después del primer byte. Si esto ocurre después de su Prefix, el ESC principal se "come" como una combinación de teclas enlazables (Prefix ESC). En el modo de edición de línea de comando vi- style se "come" como la tecla vi para volver al modo normal. Cuando está escribiendo en un tty (por ejemplo, bash en tmux ), el ESC nunca se "come", simplemente lo envía al tty subyacente como una tecla "separada"; Si el proceso de escucha ( bash ) no es tan exigente con Escape vs. inicio de secuencia, simplemente esperará el[Dy lo tratará como una flecha izquierda.Estoy teniendo este problema también; definitivamente es específico para las teclas de flecha (y probablemente cygwin) Por el momento, decidí desvincular las teclas de flecha y mover los comandos del panel de selección a otra parte, y los nuevos enlaces de teclas funcionan perfectamente. Sin embargo, no es una solución muy satisfactoria. Me encantaría saber si alguien se da cuenta de lo que está sucediendo.
fuente