我想将tmux choose-tree
配置为仅显示当前会话的窗口。
但与此同时,我希望保留我当前使用的格式(窗口名不带主机名):
我当前的设置是:
bind-key w choose-tree -F "#{window_name}"
看起来像这样:
I found the following config which filters the windows of my current session:
bind-key w run-shell 'tmux choose-tree -Nwf"##{==:##{session_name},#{session_name}}"'
然而,我没有设法格式化输出,因为我想...
我试着混合这两个命令,但输出没有按预期工作(它打印每个窗口的活动窗口...):
bind-key w run-shell 'tmux choose-tree -Nwf"##{==:##{session_name},#{session_name}}" -F "#{window_name}"'
如何同时使用filter -f
和formatter -F
选项来生成所需的输出?
谢谢
1条答案
按热度按时间cwxwcias1#
run-shell
在将命令传递给shell之前替换了某些字符串,如手册页中所述。您可以在包含##{session_name}
和#{session_name}
的示例中看到这一点。第一个表达式将
##
替换为#
,得到最终字符串#{session_name}
,而第二个表达式将整个字符串替换为tmux变量#{session_name}
的当前值,例如"www"
,这意味着choose-tree
实际上是用参数-Nwf"#{==:#{session_name},www}"
调用的。您需要对
-F
表达式执行相同的操作,将#
加倍,以便字符串不会扩展到当前值window_name
。