我的 中有以下内容.tmux.conf
:
FG_COLOR=blue
BG_COLOR=white
# Many lines ...
set-window-option -g window-status-current-style fg=$FG_COLOR,bg=$BG_COLOR
这样做的好处是,相同的值只需要在配置文件中写入一次。但是我不喜欢这些值在 tmux 中运行的 shell 中显示(它们在env
输出中弹出)。这些值在 tmux 上下文之外完全没用,所以我希望它们不出现。
我尝试了以下设置,但是全部其中许多都会导致 tmux 抱怨bad style
或者类似情况:
@FG_COLOR=blue
set-window-option -g window-status-current-style fg=@FG_COLOR
set-option -g @FG_COLOR blue
set-window-option -g window-status-current-style fg=@FG_COLOR
set-window-option -g window-status-current-style "fg=#{FG_COLOR}"
有任何想法吗?
答案1
用户选项的语法如下:
set -g @FG_COLOR blue
set -g window-status-current-style "fg=#{@FG_COLOR}"
它们是普通选项,不同之处在于它们的名称以 开头@
。因此,使用它们时需要同时使用:@
名称前面的 以及#{}
。
即使 tmux >= 3.2,我也认为这是一个比使用更好的解决方案%hidden
。
我不确定它们具体是什么时候被引入的,但据说CHANGES
它们在 2.2 中就已经存在了:
从 2.2 到 2.3 的变更,2016 年 9 月 29 日
[...]
- 现在支持使用“set -a”附加到用户选项(@foo)。
答案2
如果你的 tmux 足够新,你可以使用%local
。但是你可能需要 3.2 或 master。
编辑:它实际上被调用%hidden
并从 3.2 开始可用。