Vim
solarized

Solarizedのカラーテーマとvim-powerlineのカラースキームを同時に変更する

More than 5 years have passed since last update.

自分はここ最近ずっと、SolarizedをVimのテーマに使ってます。ステータスラインはもうディスコンになってますが、vim-powerlineを使ってます。

このvim-powerlineですが、ちゃんとSolarized用のカラースキームが用意されてます。

Solarizedは:ToggleBGというコマンドが用意されており、このコマンドを呼び出すと lightdark を切り替えることができます。

気分によってSolarizedの色合いを切り替えたいなーという時に:ToggleBG呼び出してもpowerlineのカラースキームは元のままということでかなり残念な感じになってしまいます。

mismatch

そこでこの2つを連動させるための関数作って.vimrcに書いて対応しました。

function! TogglePowerlineColorscheme()

:ToggleBG
if exists(':ToggleBG') && exists(':PowerlineReloadColorscheme')
let g:Powerline_colorscheme = &background == 'light' ? 'solarized' : 'solarized256'
PowerlineReloadColorscheme
endif
endfunction
nnoremap <F6> :call TogglePowerlineColorscheme()<CR>
inoremap <F6> :call TogglePowerlineColorscheme()<CR>
vnoremap <F6> :call TogglePowerlineColorscheme()<CR>

これで<F6>を押すと以下のように良い感じに切り替えができます。


Solarized light

light


Solarized dark

dark

他に何か良い方法あるのかな…。