根据终端颜色更改配色方案



我使用 iTerm、zsh 和 vim。

当我的终端使用太阳能灯配置文件时,我希望我的 vimrc

color solarized
set background=light

但是当我使用路卡利欧式时,我希望我的 vimrc

color lucario
set background=dark

任何想法我该怎么做?

我一直无法找出是否有办法在 zsh 或 vim 中检测当前配置文件,也许我将不得不设置我的配置文件以在使用它们时设置一些环境变量。

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

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

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

我可以只通过更改我的 vimrc 来做到这一点吗?

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

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                                                           

相关内容

  • 没有找到相关文章

最新更新