我正在尝试提取我正在通过 SSH 连接的系统的远程主机。
tmux 的pane_title
变量如下所示:
username@host: ~
我尝试将窗口状态设置为:
:setw -g window-status-format ' #I:#{s/^.*@(.*):.*/\1/i:pane_title}'
但是这样,窗口状态看起来像1:
,所以也许 tmux 误解了第一个冒号?
有没有办法转义:
前缀中的 a ?
我尝试使用反斜杠来转义它:
:setw -g window-status-format ' #I:#{s/^.*@(.*)\:.*/\1/i:pane_title}'
但这并没有改变窗口状态。
$ tmux -V
tmux 3.2
答案1
选项1:字面解释
“l”指定字符串应按字面解释而不是扩展。例如,“#{l:#{?pane_in_mode,yes,no}}”将替换为“#{?pane_in_mode,yes,no}”。
所以你的格式字符串将使用#{l::}
:
:setw -g window-status-format ' #I:#{s/^.*@(.*)#{l::}.*/\1/i:pane_title}'
选项2:ASCII 代码点替换
'a' 将数字参数替换为其 ASCII 等效项,因此 '#{a:98}' 结果为 'b'。
:
是ASCII 0x3A/#58,所以你的格式字符串将使用#{a:58}
:
:setw -g window-status-format ' #I:#{s/^.*@(.*)#{a:58}.*/\1/i:pane_title}'