我设置了 2 个 tmux 会话来处理项目的不同部分(频繁来回切换)。由于它们的布局非常相似,我想设置不同的状态栏颜色来帮助我快速识别当前会话。
看完说明书,好像是这样的
set -t session_name status-bg blue
这就是我正在寻找的。但是运行该命令会更改会话状态栏颜色。是否可以在 tmux 中实现每个会话的样式?
我还尝试命名窗口并将其名称传递给-t
但没有更成功。
找不到那个信息。另外,我可能无法session
正确理解 tmux 用例。
答案1
您需要在较新版本的 tmux 中执行以下操作:
set -t session_name status-style bg=blue
这在 tmux 3.0a 中对我有用。另外,如果您随后想要更改另一个属性,例如状态栏中文本的颜色,您需要使用 -a(追加)选项,否则 tmux 将覆盖您之前的设置(在本例中为背景颜色)及其新设置的默认选择(在本例中为文本颜色)。所以它看起来如下:
set -a -t session_name status-style fg=green
您可以在这里找到更多信息http://man7.org/linux/man-pages/man1/tmux.1.html(搜索 setw 你将进入选项部分)
答案2
你可以尝试玩一下钩子。这是我为两个会话所做的一个例子,
set-hook -g after-new-session 'if -F "#{==:#{session_name},emacs}" "source ~/.tmux/.tmux.conf.emacs" "source ~/.tmux/.tmux.conf.amos"'
set-hook -g after-new-window 'if -F "#{==:#{session_name},emacs}" "source ~/.tmux/.tmux.conf.emacs" "source ~/.tmux/.tmux.conf.amos"'
请注意,after-new-window
钩子是必要的。
你可以找到我的整个设置github。