El problema es que muchos esquemas de color (¿todos?) Borrarán todos los resaltados highlight clear
antes de establecer sus propios colores. Por ejemplo de /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 ...
Esto también borra los User1..9
grupos (lo cual no tiene mucho sentido, en mi humilde opinión).
La solución es poner User1..9
destacados personalizados en el ColorScheme
autocmd. De :help ColorScheme
:
Después de cargar un esquema de color. :colorscheme
El patrón coincide con el nombre del esquema de colores. <afile>
se puede usar para el nombre del archivo real donde se configuró esta opción y <amatch>
para el nuevo nombre del esquema de colores.
Entonces, en lugar de usar un highlight
comando "desnudo" , use:
autocmd ColorScheme *
\ highlight User1 ctermbg=0 ctermfg=10 cterm=bold |
\ highlight User2 ctermbg=0 ctermfg=9 cterm=bold
Si cambia frecuentemente los esquemas de colores, incluso puede usar:
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
para que los colores coincidan con esquemas de colores específicos.