В моем .vimrc нет 'colorscheme BusyBee'. Мне нравится время от времени переключать цвета, поэтому я хочу «исправить» актуальную тему.
Я придумал это решение, не самое красивое, но как угодно.
function! FixColorscheme() " {{{
echo "fixing colorscheme"
if has("gui_running")
if (g:colors_name =~ "busybee")
hi Folded guibg=#001336 guifg=#003DAD gui=none
hi CursorLine guibg=#000000 ctermbg=Black cterm=none
elseif (g:colors_name =~ "256-jungle")
hi CursorLine guibg=#000000 ctermbg=Black cterm=none
elseif (g:colors_name =~ "xoria256")
hi Folded guibg=#001336 guifg=#003DAD gui=none cterm=none
"hi Folded ctermbg=234 ctermfg=25 cterm=none
endif
elseif &t_Co == 256
if (g:colors_name =~ "busybee")
hi Folded guibg=#001336 guifg=#003DAD gui=none
hi CursorLine guibg=#000000 ctermbg=Black cterm=none
elseif (g:colors_name =~ "256-jungle")
hi CursorLine guibg=#000000 ctermbg=Black cterm=none
elseif (g:colors_name =~ "xoria256")
hi Folded ctermbg=234 ctermfg=25 cterm=none
hi CursorLine cterm=none
"else
"hi CursorLine ctermbg=0 cterm=none
endif
endif
endfunction
" }}}
Запустите его автоматически при изменении цветовой схемы.
augroup mycolorschemes
au!
au ColorScheme * call FixColorscheme()
augroup END
И это помогает загрузить вашу любимую схему недели при запуске. (еек !! по умолчанию!)
if iSFirstRun == 1
echo "HI"
colo xoria256
call FixColors()
endif
.. и это на самом верху .vimrc
"" To let us set some settings only once. {{{
if exists("isRunning")
let isFirstRun = 0
else
let isFirstRun = 1
endif
let isRunning = 1
" }}}
Возможно, уже есть что-то для этого isFirstRun?