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.