web-dev-qa-db-ja.com

TMUXにAlt + Numを使用してウィンドウを選択させる

私はTMUXをいじっていますが、構成機能が気に入っています。

下部のウィンドウリストから、Irssiでウィンドウを変更するための同じショートカットがTMUXでも機能するはずだと思いますが、そうではありません。

そのため、現時点では、C-bを押してから数字を押して、そのウィンドウを開く必要があります。通常のプレフィックスにC-bを使用できてうれしいです(たとえば、C-b?のヘルプ、C-b:コマンド入力)が、C-b + NumkeyとC-b + Numkeyの両方を使用できればすばらしいでしょう。 Alt+NumKey タブを変更するため。

ウィンドウにIrssiが表示されているかどうかを検出し、無視することができれば、さらにクールになります。 Alt+NumKey、Irssiウィンドウ間で変更できるようにします。

10
Lyndon White

Altを使用してウィンドウを切り替えるには、次を追加します。

# 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

~/.tmux.confへこれは次のとおりです: https://github.com/proft/dotfiles/blob/master/.tmux.conf

さらに、irssiがアクティブウィンドウにある場合にこれを行わないようにするには:

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

これは、[プレフィックスを必要とせずに]バインドキーを大まかに読み取り、次のアクションを実行します。現在のペインにirssiという名前が付いていないかどうかを確認し、そうでない場合は適切なウィンドウを選択します。そうでない場合は、キーを再送信して、基になるアプリケーション[irssi]それを得ることができます。

14
Lyndon White