tmux list-panes -f(过滤器)如何工作?

tmux list-panes -f(过滤器)如何工作?

-f我阅读了手册页,但在使用时找不到如何使用tmux list-panes。它似乎是一个过滤器,我认为这在某种程度上像 grep 一样工作?

有谁知道 -f 是如何工作的?

答案1

-f选项已经存在于其他一些命令中,例如choose-tree给出了有关其工作原理的提示。它采用格式字符串,对于每个窗格,如果其计算结果为 true(即非 0 也非空),则列出该窗格。

例如,如果您有 2 个窗格,其中之一处于树模式:

$ tmux list-panes -F '#{pane_id} >#{pane_mode}<' 
%0 ><
%1 >tree-mode<

那么你可以通过匹配过滤器仅显示树模式下的一个,#{m:a,b}将 glob a 与字符串 b 匹配,如果它们相同则为 true:

$ tmux list-panes -F '#{pane_id} >#{pane_mode}<' -f '#{m:tree-mode,#{pane_mode}}'
%1 >tree-mode<

要将选择反转为仅显示不在树模式下的窗格,请使用#{?e,a,b}if 字符串 e 为 true 时选择字符串 a,否则选择 b:

$ tmux list-panes -F '#{pane_id} >#{pane_mode}<' -f '#{?#{m:tree-mode,#{pane_mode}},0,1}'
%0 ><

相关内容