Parece que tmux
está fazendo a coisa certa para o seu exemplo:
For example, ctrl-shift-right passes as
^[[C
(which is the same as the escape sequence of the right key), instead of^[OC
(outside tmux).
porque a conotação usual dessa sequência é que é o mesmo que o movimento do cursor enviado do host. Um parâmetro zero é o mesmo que um parâmetro ausente, que é um .
O terminal não foi identificado; xterm
não faz isso. Para controle deslocamento seta para a direita , xterm
pode enviar ^[[1;6C
. Nesse caso, tmux
absorve a seqüência de escape enviada, porque não está na tabela de chaves conhecidas no estilo xterm que ela conhece. Em tmux
, o arquivo xterm-keys.c
contém uma tabela com o comentário:
/*
* xterm-style function keys append one of the following values before the last
* character:
*
* 2 Shift
* 3 Alt
* 4 Shift + Alt
* 5 Ctrl
* 6 Shift + Ctrl
* 7 Alt + Ctrl
* 8 Shift + Alt + Ctrl
*
* Rather than parsing them, just match against a table.
*
* There are three forms for F1-F4 (\033O_P and \033O1;_P and \033[1;_P).
* We accept any but always output the latter (it comes first in the table).
*/