Das Problem ist, dass viele (alle?) Farbschemata alle Glanzlichter löschen, highlight clear
bevor sie ihre eigenen Farben festlegen . Zum Beispiel von /usr/share/vim/vim74/colors/peachpuff.vim
:
" First remove all existing highlighting.
set background=light
hi clear
if exists("syntax_on")
syntax reset
endif
let colors_name = "peachpuff"
hi Normal guibg=PeachPuff guifg=Black
hi SpecialKey term=bold ctermfg=4 guifg=Blue
" ... Many more highlights follow ...
Dies auch löscht die User1..9
Gruppen (die nicht viel Sinn machen, IMHO).
Die Lösung besteht darin, benutzerdefinierte User1..9
Highlights in das ColorScheme
Autocmd einzufügen. Von :help ColorScheme
:
Nach dem Laden eines Farbschemas. :colorscheme
Das Muster wird mit dem Namen des Farbschemas abgeglichen. <afile>
kann für den Namen der tatsächlichen Datei verwendet werden, in der diese Option festgelegt wurde, und <amatch>
für den neuen Farbschemanamen.
Verwenden Sie also anstelle eines "nackten" highlight
Befehls:
autocmd ColorScheme *
\ highlight User1 ctermbg=0 ctermfg=10 cterm=bold |
\ highlight User2 ctermbg=0 ctermfg=9 cterm=bold
Wenn Sie häufig zwischen Farbschemata wechseln, können Sie sogar Folgendes verwenden:
autocmd ColorScheme colorscheme_one_name highlight User1 ctermbg=0 ctermfg=10 cterm=bold
autocmd ColorScheme another_scheme highlight User1 ctermbg=0 ctermfg=11 cterm=bold
um Farben an bestimmte Farbschemata anzupassen.