我想更改我的 tmux.conf 文件,以分别使用 cntrl+shift+0 和 cntrl+shift+9 更改到下一个和上一个会话。但我不知道如何获得下一个和上一个会话目标。
这是我到目前为止所拥有的:
bind -n C-S-0 attach-session -t ganache
但当然不起作用,并且目标会话不是动态的
答案1
有内置的键绑定可以执行此操作(请参阅 参考资料tmux list-keys
):
Ctrl )
Ctrl (
但是您可以重新绑定现有会话之间的开关,只需执行以下操作:
bind 'C-S-0' switch-client -n
bind 'C-S-9' switch-client -p
那么你可以用Ctrl+b
+Ctrl+Shift+0
切换到下一个,用Ctrl+b
+
Ctrl+Shift+9
切换到上一个。
显然,您可以添加一个-r
标志,以便在命令之前不需要前缀...但由于某种原因,我无法让它为我工作...但也许我有一些干扰。这是应该起作用的(如果我理解的话):
bind -r 'C-S-0' switch-client -n
bind -r 'C-S-9' switch-client -p
但是,请注意 tmux 手册页中不建议这样做:
bind-key [-nr] [-T key-table] key command [arguments]
(别名:bind)
将 key key 绑定到命令。密钥绑定在密钥表中。默认情况下(不带-T),密钥绑定在前缀密钥表中。该表用于在前缀键之后按下的键(例如,默认情况下'c'绑定到前缀表中的new-window,因此'Cb c'创建一个新窗口)。根表用于在没有前缀键的情况下按下的键:将“c”绑定到根表中的 new-window(不推荐)意味着普通的“c”将创建一个新窗口。 -n 是 -T root 的别名。键也可以绑定在自定义键表中,并使用 switch-client -T 命令从键绑定切换到它们。 -r 标志表示该键可以重复,请参阅重复时间选项。要查看默认绑定和可能的命令,请参阅 list-keys 命令。