tutorial full commands comandos close linux bash tmux

linux - full - tmux split window



Las teclas Inicio/Fin no funcionan en tmux (3)

Actualmente estoy usando tmux con la variable xterm-256color $ TERM. Cuando en bash bajo tmux, presionar home / end insertaría caracteres de tilde (~). Fuera de tmux, las teclas de inicio / fin funcionan bien.

Usando cat y tput, pude ver que había una falta de coincidencia entre las secuencias generadas y esperadas:

$ cat -v # pressing home, then end ^[[1~^[[4~ $ tput khome | cat -v; echo ^[OH $ tput kend | cat -v; echo ^[OF

Para solucionar esto, decidí agregar lo siguiente a mi .bashrc:

if [[ -n "$TMUX" ]]; then bind ''"/e[1~":"/eOH"'' bind ''"/e[4~":"/eOF"'' fi

Eso solucionó el problema de bash, sin embargo, en otros programas readline, como en un REPL como ipython, todavía se inserta una tilde para home / end.

¿Por qué exactamente es esto un problema en primer lugar? ¿Por qué la secuencia generada es diferente cuando estoy dentro de tmux vs fuera de ella? ¿Cómo se puede arreglar esto para que no sea un problema en ningún programa?


En tmux 2.0, puede agregar estas 2 líneas en su .tmux.conf :

bind -n End send-key C-e bind -n Home send-key C-a


Parece que el problema principal es con el uso de xterm-256color para $ TERM. Cambié $ TERM a screen-256color y el problema desapareció.


Si desea permanecer con xterm-256color en tmux por alguna razón, use arch solution con inputrc. Lo probé en tmux con rxvt, ruby ​​irb, python, lua y las teclas home / end están bien. Probablemente, cada aplicación readline estará bien.