Fazendo o TMUX usar Alt + Num para selecionar a janela

10

Eu tenho mexido com o TMUX e estou gostando das habilidades de configuração.

A lista de janelas na parte inferior me faz pensar que o mesmo atalho para alterar janelas no Irssi deve funcionar no TMUX, mas não funciona.

Então, no momento, tenho que pressionar Cb e um número para abrir a janela. Estou feliz em ter Cb como prefixo normal (por exemplo, para Cb? Para obter ajuda, Cb: entrada de comando) Mas seria legal se eu pudesse usar C-b + Numkey e Alt+ NumKeypara alterar as guias.

Seria ainda mais legal se ele pudesse detectar se uma janela está mostrando o Irssi e depois ignorar o Alt+ NumKey, para que eu ainda possa alternar entre as janelas do Irssi.

Lyndon White
fonte

Respostas:

14

A troca de janelas com o Alt pode ser feita adicionando:

# switch windows alt+number
bind-key -n M-1 select-window -t 1
bind-key -n M-2 select-window -t 2
bind-key -n M-3 select-window -t 3
bind-key -n M-4 select-window -t 4
bind-key -n M-5 select-window -t 5
bind-key -n M-6 select-window -t 6
bind-key -n M-7 select-window -t 7
bind-key -n M-8 select-window -t 8
bind-key -n M-9 select-window -t 9

ao seu ~/.tmux.conf Isto é de: https://github.com/proft/dotfiles/blob/master/.tmux.conf

Além disso, para fazê-lo, se o irssi estiver na janela ativa:

#switch windows alt+number, unless we are running irssi
bind -n M-1 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 1' 'send M-1'
bind -n M-2 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 2' 'send M-2'
bind -n M-3 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 3' 'send M-3'
bind -n M-4 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 4' 'send M-4'
bind -n M-5 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 5' 'send M-5'
bind -n M-6 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 6' 'send M-6'
bind -n M-7 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 7' 'send M-7'
bind -n M-8 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 8' 'send M-8'
bind -n M-9 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 9' 'send M-9'
bind -n M-0 if 'test `tmux list-panes -F "#W"` != "irssi"' 'select-window -t 0' 'send M-0'

Que lê aproximadamente a tecla Vincular [sem exigir prefixo], com a ação de: verifique se o painel atual não é nomeado irssi e, se não for, selecione a janela apropriada; caso contrário, reenvie a chave, para que o aplicativo subjacente [irssi] pode conseguir.

Lyndon White
fonte
A dica irssi é exatamente o que eu estava procurando. Obrigado.
fácil