通过vim-sunset插件更改vim-airline配色方案



我最近发现了两个非常有用的VIM插件,即VIM -sunset (http://vimawesome.com/plugin/sunset)和VIM -airline (http://vimawesome.com/plugin/vim-airline-sad-beautiful-tragic)。用紫色日落来改变配色方案很容易,但我也想改变我的航空公司的颜色。我已经尝试通过

来实现这一点

function! Sunset_daytime_callback()
  
  " Version 1
  let g:airline_theme = 'airline_theme_light'
  " Version 2
  colorscheme vim_colorscheme_light
  autocmd ColorScheme * :AirlineTheme airline_theme_light
  
  " Version 3
  autocmd ColorScheme * :AirlineTheme airline_theme_light
  colorscheme vim_colorscheme_light
  
endfunction

(Sunset_nighttime_callback()也是一样)

问题如下:

  • 版本1:我猜变量airline_theme设置正确,但它没有更新。此外,我在航空公司文档中找不到任何提到如何使用新参数"重新绘制"的功能。
  • 版本2:这种工作,但我必须调用函数Sunset_daytime_callback()两次,以更新电力线
  • 版本3:中断,因为插件命令:AirlineTheme尚未准备好,当.vimrc第一次执行

是否有一个(可能是优雅的)解决方案如何得到这个工作?我可能只是错过了一个函数在航空公司插件,只是重新绘制线?

谢谢你的帮助!

好的,所以我自己找到了一个解决方案:关键是在尝试设置航空公司配色方案时检查是否已经加载了airline-plugin。现在它看起来像这样:

function! Sunset_daytime_callback()
  " This Works :)
  colorscheme vim_colorscheme_light
  if exists(':AirlineTheme') " check if the plugin is loaded
      :AirlineTheme light
  else
      let g:airline_theme = 'light'
  endif
endfunction

最新更新