O valor de TERM
é irrelevante. Como eu apontei em o tmux não passa corretamente as seqüências ctrl-shift-arrow , tmux
tem uma tabela de teclas especiais no estilo xterm que ele conhece. Para este caso, a tabela xterm_keys_table
tem uma entrada para inserir:
{ KEYC_IC, "3[2;_~" },
, o que significa que normalmente converte qualquer uma das variações com um parâmetro em que você vê o sublinhado "_"
no mesmo valor:
3[2;2~
3[2;3~
3[2;4~
3[2;5~
3[2;6~
3[2;7~
3[2;8~
A maneira de mudar isso é com a configuração xterm-keys
:
xterm-keys
[on | off]
If this option is set,tmux
will generate xterm(1)-style function key sequences; these have a number included to indicate modifiers such as Shift, Alt or Ctrl. The default is off.
Quando você ativa a opção , tmux
transmitirá inalteradas as chaves especiais que correspondem a esse padrão:
set-option -gw xterm-keys on
No entanto, você pode perceber que 1
não é mencionado no código-fonte do tmux. Como tmux
lê as chaves (antes de decidir o que fazer com elas), ele salva o modificador. Não é possível distinguir entre um 1
e nenhum modificador. Isso faz sentido porque xterm
também não distinguiria os dois.
Em qualquer caso, o xterm normalmente não enviaria qualquer coisa para uma chave de inserção deslocada. Você poderia forçá-lo a fazer isso usando o recurso translations
, mas de acordo com o Manual do xterm , um insert deslocado faz com que ele insira o texto selecionado (ou seja, paste ):
Shift <KeyPress> Insert:insert-selection(SELECT, CUT_BUFFER0) \n\