0

我最近发现了两个我觉得非常有用的 VIM 插件,即 vim-sunset ( http://vimawesome.com/plugin/sunset ) 和 vim-airline ( http://vimawesome.com/plugin/vim-airline-sad -美丽的悲剧)。使用 vim-sunset 更改颜色方案很容易,但我希望它也可以更改我航空公司的颜色。我试图通过

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在第一次执行

是否有一个(可能是优雅的)解决方案如何让它工作?我可能只是错过了航空公司插件中的一个功能,它只是重画了这条线?

谢谢你的帮助!

4

1 回答 1

0

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

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

于 2015-06-17T12:24:43.510 回答