有时我会使用浅色终端,有时我会使用深色终端。我导出一个THEME
环境变量,以便有条件地设置我的.bash_profile
和中的颜色.vimrc
。我试图在我的中做同样的事情.tmux.conf
,但事实证明这很困难。
这有效,
if '[[ "$THEME" =~ dark ]]' 'set -g status-bg colour233' \
'set -g status-bg "#ffffff"'
但会变得很麻烦。例如:
if '[[ "$THEME" =~ dark ]]' "set -g status-right \" #S #[fg=#9BD4FF]::#[fg=default] #h #[fg=#9BD4FF]::#[fg=default] #(sysctl vm.loadavg | cut -d ' ' -f 3-5) \"" \
"set -g status-right \" #S #[fg=#000000]::#[fg=default] #h #[fg=#000000]::#[fg=default] #(sysctl vm.loadavg | cut -d ' ' -f 3-5) \""
我尝试有条件地设置里面的颜色变量.tmux.conf
但无法使它们工作。
if '[[ "$THEME" =~ dark ]]' 'BG_COLOUR=colour233' 'BG_COLOUR=#ffffff'
set -g status-bg $BG_COLOUR
当我启动 tmux 时,这给了我一个“坏颜色”错误。我尝试过引用 ( 'BG_COLOUR="colour233"'
),尝试过 setenv ( 'setenv -g BG_COLOUR colour233'
),还尝试过用引用 ( 'setenv -g BG_COLOUR "colour233"'
) 来 setenv,但都不起作用。有没有办法干净利落地做到这一点?
答案1
以下步骤应该有所帮助:
将状态行配置分成两个不同的文件:一个配置为深色主题所需的颜色,另一个配置为浅色主题所需的颜色。
将这些文件保存在你的主目录中(我创建了一个 .tmux 目录,它们放在那里)
在你的 .tmux.conf 中添加类似下面的内容:
if '[[ "$THEME" =~ dark ]]' 'source ~/.tmux/dark_status.conf'
您可能还想为浅色主题添加条件。