Vários dos pressionamentos de tecla Control + dígitos geram sequências razoavelmente padronizadas, mas nem todas elas ocorrem.
Aqui está o que eu encontrei no xterm que eu tinha à mão:
C-1: 1 (i.e. not different form a plain 1 keystroke)
C-2: ^@
C-3: ^[
C-4: ^\
C-5: ^]
C-6: ^^
C-7: ^_
C-8: ^?
C-9: 9 (i.e. plain 9)
C-0: 0 (i.e. plain 0)
As mesmas sequências são geradas em iTerm 2 (embora isto seja altamente configurável).
Se o emulador de terminal gerar sequências similares, você poderá ligar a maioria delas (embora você precise usar os “nomes” não numéricos padrão para as chaves, por exemplo, C-@
ou ^@
, et cetera). Você terá que encontrar uma maneira de configurar seu terminal para enviar algum tipo de seqüência para qualquer pressionamento de tecla que ainda não envie algo diferente da chave não modificada (ou seja, como 1, 9 e 0 acima).
No entanto, , vincular essas chaves sem um prefixo ( bind -n …
) provavelmente irá quebrar muitas coisas. Especificamente, ^[
é o caractere Escape (usado em quase todas as seqüências de controle do terminal), ^?
é geralmente o caractere Delete, ^@
(como C-Space) é comumente usado na edição Emacs (estilo), etc. .
Provavelmente, uma abordagem melhor é configurar seu terminal para enviar as sequências “modifyOtherKeys” no estilo xterm que o tmux 1.8 reconhece (se o seu xterm suporta isso, tmux pede automaticamente para que isso aconteça):
C-1: ^[[27;5;49~
C-2: ^[[27;5;50~
C-3: ^[[27;5;51~
C-4: ^[[27;5;52~
C-5: ^[[27;5;53~
C-6: ^[[27;5;54~
C-7: ^[[27;5;55~
C-8: ^[[27;5;56~
C-9: ^[[27;5;57~
C-0: ^[[27;5;48~
Os nomes tmux para essas chaves são exatamente C-0
, et cetera.
Nota: Estes nomes e sequências chave não são reconhecidos pelas versões tmux anteriores à versão 1.8.
Você os vincularia assim (no seu .tmux.conf
):
bind-key -n C-0 select-window -t :0
bind-key -n C-1 select-window -t :1
bind-key -n C-2 select-window -t :2
bind-key -n C-3 select-window -t :3
bind-key -n C-4 select-window -t :4
bind-key -n C-5 select-window -t :5
bind-key -n C-6 select-window -t :6
bind-key -n C-7 select-window -t :7
bind-key -n C-8 select-window -t :8
bind-key -n C-9 select-window -t :9