1 votes

VIM: Comment définir une couleur par défaut sur la mise en surbrillance de la syntaxe basée sur la recherche

Actuellement, mon fichier /etc/vimrc est configuré comme suit : (

if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif

filetype plugin on

 if &term=="xterm"
 set t_Co=8
 set t_Sb=^[[4%dm
 set t_Sf=^[[3%dm
 endif

Mon problème est que chaque fois que je suis dans VIM et que je recherche une chaîne de caractères, lorsqu'elle la trouve, elle la met en surbrillance dans un bloc jaune vif. Ce n'est pas un problème sauf si j'essaie de trouver du texte blanc, alors il devient très difficile à voir. J'ai essayé de changer la ligne :

set hlsearch="another_color"

Mais j'obtiens une erreur en essayant de rouvrir le fichier après l'avoir enregistré.

Erreur détectée lors du traitement de /etc/vimrc :
ligne   51:
E474: Argument non valide : hlsearch=light

Dans ce bloc de code, quelque chose me dit que cela contrôle les couleurs de fond et de premier plan, mais je ne suis pas sûr si cela concerne l'option "hlsearch".

if &term=="xterm"
 set t_Co=8
 set t_Sb=^[[5%dm
 set t_Sf=^[[6%dm
endif

J'ai essayé de changer les chiffres 5 et 6 par d'autres nombres et cela n'a aucun effet. J'ai toujours une boîte de surbrillance jaune pour le texte recherché.

Mes questions sont donc :

1) D'où vient cette couleur jaune "par défaut" ?

2) Comment puis-je la changer pour autre chose ?

2voto

Patrick Klug Points 5320

Toutes les couleurs de syntaxe, y compris la couleur de mise en surbrillance de la recherche, sont définies en modifiant un groupe de mise en surbrillance plutôt qu'une option. Vous réglez ces groupes avec la commande :highlight. Par exemple, j'ai changé la mise en surbrillance de la recherche d'un jaune à un turquoise vif :

:highlight Search guibg=Turquoise4

J'ai également changé la couleur de IncSearch, qui est la couleur lorsque 'incsearch' est défini :

:highlight IncSearch gui=souligné,gras guifg=Blanc guibg=Rouge3

Voir :help :highlight et :help highlight-groups.

2voto

user53029 Points 181

J'ai trouvé la solution. Dans /etc/vimrc, sous la ligne "syntax on", ajoutez :

hi Search ctermbg=red 
hi Search ctermfg=white 

Cet exemple vous donnera un bloc rouge avec du texte blanc lors de la recherche de fichiers avec VIM. À l'intérieur de VIM, vous pouvez également faire :

:highlight Search ctermfg=yellow

Pour le changer à la volée.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X