选项1:字面解释

选项1:字面解释

我正在尝试提取我正在通过 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}'

相关内容