让 TMUX 使用 Alt+Num 选择窗口

让 TMUX 使用 Alt+Num 选择窗口

我一直在研究 TMUX,我很喜欢它的配置功能。

底部的窗口列表让我认为在 Irssi 中更改窗口的相同快捷方式应该在 TMUX 中有效,但事实并非如此。

所以目前,我必须先按 Cb 然后按数字才能打开该窗口。我很高兴使用 Cb 作为我的常规前缀(例如,Cb ? 表示帮助,Cb : 命令输入)但如果我可以同时使用 C-b+Numkey 和Alt+NumKey来更改选项卡,那就太酷了。

如果它可以检测窗口是否显示 Irssi,然后忽略Alt+ NumKey,那就更酷了,这样我仍然可以在 Irssi 窗口之间切换。

答案1

可以通过添加以下命令来使用 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] 可以获取它。

相关内容