根据终端颜色更改colorscheme

时间:2018-03-07 19:45:53

标签: macos vim zsh iterm2 iterm

我使用iTerm,zsh和vim。

当我的终端使用 Solarized Light 配置文件时,我希望我的vimrc

color solarized
set background=light

但是当我使用 Lucario-ish 我想要我的vimrc

color lucario
set background=dark

我有什么想法可以做到这一点吗?

我一直无法确定是否有方法可以检测zsh或vim中的当前配置文件,也许我必须设置我的配置文件以在使用它们时设置一些环境变量

我可以在vim中检测到这个环境变量,

if $PROFILE == "solarized"
  color solarized
  set background=light
else
  ...

有没有办法做到这一点,我不必更改我的个人资料或在我的vimrc之外写任何东西?

我可以通过更改我的vimrc来实现吗?

1 个答案:

答案 0 :(得分:0)

一种方法是制作颜色列表,另一种方法是相应的背景:

let mycolors = ["solarized","lucario"]
let mybgs = ["light","dark"]

然后遍历第一个列表,将其值与$ PROFILE:

进行比较
let j=0
for i in mycolors      
  if $PROFILE == mycolors[j]                                                    
    execute "colorscheme ".mycolors[j]                                        
    execute "set background=".mybgs[j]                                   
    break                                                                   
  endif
  let j+=1                                                                
endfor