tmux.conf:如果在键绑定中

问题描述

(对不起,英语不好) 我的目标:根据“变量”执行不同的命令,但是要使用一个键绑定

我想用S(大写s)取消/激活窗格同步,因为小号s用于显示不同的会话,但是我真的不知道该怎么写。 (我当然可以重新绑定,但是在我的脑海中烙印了Session的那一点点)

我想也许是这样的: bind S "if (snychronize-panes=on)"; then "setw synchronize-panes off": else "setw synchronize-panes on"

我尝试用变量替换“ synchronize-panes”,但我不知道如何在tmux.conf中编写正确的if子句。

解决方法

这应该可以使用内置变量pane_synchronized if-then-else 的格式版本:#{?expression,value-if-true,value-if-false}

bind-key S set-window-option -F synchronize-panes #{?pane_synchronized,off,on}

就像尼古拉斯·万豪(Nicholas Marriott)在评论中说的那样,如果没有为开/关选项提供任何值,它将简单地切换,因此您可以简单地拥有:

bind-key S set-window-option synchronize-panes