Le problème est que de nombreux (tous?) Thèmes de couleurs effaceront tous les reflets highlight clear
avant de définir leurs propres couleurs. Par exemple 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 ...
Cela efface également les User1..9
groupes (ce qui n'a pas beaucoup de sens, à mon humble avis).
La solution consiste à mettre des User1..9
surbrillances personnalisées dans l' ColorScheme
autocmd. De :help ColorScheme
:
Après avoir chargé un jeu de couleurs. :colorscheme
Le motif est mis en correspondance avec le nom du schéma de couleurs. <afile>
peut être utilisé pour le nom du fichier réel où cette option a été définie, et <amatch>
pour le nouveau nom du jeu de couleurs.
Ainsi, au lieu d'utiliser une highlight
commande "nue" , utilisez:
autocmd ColorScheme *
\ highlight User1 ctermbg=0 ctermfg=10 cterm=bold |
\ highlight User2 ctermbg=0 ctermfg=9 cterm=bold
Si vous changez fréquemment de couleurs, vous pouvez même utiliser:
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
pour obtenir des couleurs assorties à des thèmes de couleurs spécifiques.
Martin Tournoij
la source