Acabei de descobrir que o tmux parece esperar códigos de teclas xterm, não importando o tipo de terminal screen
. Por isso, soquei as teclas no xterm, usando Ctrl-V como prefixo e obtive estes códigos:
- tecla esquerda:
^[[D
- tecla direita:
^[[C
- tecla para cima:
^[[A
- tecla para baixo:
^[[B
- C-left:
^[[1;5D
- C-right:
^[[1;5C
- C-up:
^[[1;5A
- C-down:
^[[1;5B
Agora posso configurar o terminal do OS X para enviar esses códigos de chave, e o tmux funciona bem. No entanto, outros aplicativos em execução no tmux serão interrompidos, porque eles não esperam obter códigos-chave xterm. Eu encontrei uma solução alternativa no ArchWiki , que sugere criar sua própria entrada terminfo. Vou tentar isso.
Editar: o FAQ do tmux me pegou, e adicionei as duas linhas a seguir ao meu ~/.tmux.conf
:
set -g default-terminal "xterm-256color"
setw -g xterm-keys on
Agora posso usar as setas C no tmux, bash, emacs e outros programas.
Mais uma edição: Como o tmux não suporta bce (apagamento de cor de fundo), eu precisava criar meu próprio terminfo, chamado xterm-256color-nobce:
infocmp xterm-256color | sed 's/bce, //' > xterm-256color-nobce
sudo tic ./xterm-256color-nobce
E certifique-se de usar isso como meu valor de TERM padrão.