Las teclas de acceso rápido no funcionan en zsh cuando $ TERM se configura en screen-256color

0

Según varias otras discusiones, he vinculado opt + < - a 0x1b 0x62 y opt + - > a 0x1b 0x66 . Esto funciona muy bien en zsh, pero no en tmux.

En tmux opt + < - salta backwords por palabra, pero también parece hacer alguna modificación de modo ... al escribir s después, el carácter debajo de el cursor será eliminado.

También tengo problemas con cmd + - > ( 0x05 ) y cmd + < - ( 0x01 ): en zsh, estas teclas se desplazan hasta el final y el inicio de la línea, pero esto no funciona en absoluto en tmux.

No creo que haya ninguna combinación de teclas para estos códigos hexadecimales, por lo que asumo que algo se pierde en el camino de iTerm2 a tmux ... Llamando a read en zsh directamente y en tmux produce los mismos códigos para opt los enlaces mencionados anteriormente, pero no genera nada para los enlaces cmd en tmux.

Editar:

Experimenté un poco más y descubrí que los enlaces funcionan bien al usar / bin / bash en tmux y solo se rompen cuando se usa zsh en tmux. Incluso probé / bin / zsh sin cargar .zshrc para comprobar si hay algún problema con los homebrews zsh, pero los enlaces están rotos allí también. Parece que esto es realmente un problema con zsh.

Editar:

Más experimentos! Esto parece estar conectado a la variable de entorno $ TERM que se establece en "screen-256color" por mi .tmux.conf. Esto parece ser correcto para que los colores funcionen, pero tan pronto como zsh se ejecuta con esta variable de entorno, La navegación deja de funcionar. La ejecución de TERM=screen-256color zsh reproduce el problema.

    
pregunta Strayer 07.09.2017 - 10:54

1 respuesta

1

¡Parece que finalmente encontré una respuesta! O más bien una solución alternativa, ya que todavía no estoy seguro de qué es exactamente lo que está yendo mal.

La configuración explícita de los enlaces de teclas para la navegación de palabras solucionó el problema para mí:

bindkey "^[f" forward-word
bindkey "^[b" backward-word

Tal vez zsh esté usando diferentes combinaciones de teclas basadas en $ TERM.

    
respondido por el Strayer 08.09.2017 - 17:28

Lea otras preguntas en las etiquetas