Zmusza TMUX do używania okna za pomocą Alt + Num

10

Mam problemy z TMUX i podobają mi się możliwości konfiguracji.

Lista okien na dole sprawia, że ​​myślę, że ten sam skrót do zmiany okien w Irssi powinien działać w TMUX, ale nie działa.

W tej chwili muszę nacisnąć Cb, a następnie cyfrę, aby otworzyć to okno. Cieszę się, że mam Cb jako mój normalny prefiks (np. Cb ?, aby uzyskać pomoc, Cb: polecenie). Byłoby jednak fajnie, gdybym mógł używać zarówno C-b + Numkey, jak i Alt+ NumKeydo zmiany tabulatorów.

Byłoby jeszcze fajniej, gdyby mógł wykryć, czy okno pokazuje Irssi, a następnie zignorować Alt+ NumKey, aby nadal móc przełączać się między oknami Irssi.

Lyndon White
źródło

Odpowiedzi:

14

Przełączanie okien za pomocą Alt można wykonać, dodając:

# 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

do ~/.tmux.conf To pochodzi z: https://github.com/proft/dotfiles/blob/master/.tmux.conf

Co więcej, aby nie robić tego, jeśli irssi znajduje się w aktywnym oknie:

#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'

Który z grubsza czyta klucz Bind [bez wymaganego przedrostka], do akcji: sprawdź, czy bieżący panel nie ma nazwy irssi, a jeśli nie jest, wybierz odpowiednie okno, w przeciwnym razie ponownie wyślij klucz, tak aby podstawowa aplikacja [irssi] mogę to zdobyć.

Lyndon White
źródło
Wskazówka irssi jest właśnie tym, czego szukałem. Dziękuję Ci.
rr- 19.04.16