Usando Ctrl + [0-9] para alternar entre janelas usando o tmux

7

Eu comecei usando tmux , mas eu sinto que usar Ctrl b 0-9 é muito chato, porque é usado com tanta frequência .

Como faço para ligar o teclado, então eu só preciso fazer Ctrl 0-9 para mudar as janelas (como no Chrome)?

Eu tentei configurá-lo no .tmux.conf , mas sem sucesso algum.

este é o meu arquivo atual .tmux.conf

bind C select-pane -t :.+
set -g status-bg black
set -g status-fg white
    
por Johan Bjäreholt 20.10.2013 / 23:38

2 respostas

8

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
    
por 21.10.2013 / 10:55
2

A resposta do @ChrisJohnsen é perfeita, no entanto, algumas pessoas podem querer alguma ajuda sobre como configurar chaves Iterm 2 para atingir esse comportamento.

Primeiro, vá para "Iterm2 - > Preferências - > Perfis - > Chaves" como em:

e,emseguida,cliquenosímbolo+paraadicionarapredefiniçãoquandoalgumCtrl+Númeronãoestivernalista(oformatonalistaserá^number),comoéocasodo^1,quenãoestádisponívelnalistapadrão.

PressioneCtrl+1aoselecionaroatalhodetecladoeselecione"enviar sequência de escape" como ação. Em seguida, adicione as seqüências de escape de Chris Johnsen sem o ^ [ que será adicionado pela ação iterm2:

Mais tarde, repita este procedimento para todas as outras teclas de controle, editando aquelas já existentes.

    
por 04.10.2016 / 04:48