Vim: Comment changer la couleur de surbrillance pour les résultats de recherche et la sélection de correctifs rapides

124

J'utilise le colorimètre du désert, qui utilise du texte blanc sur fond orange pour mettre en évidence les résultats de recherche. Le même modèle est utilisé pour l'entrée sélectionnée dans la fenêtre de correction rapide.

Le blanc sur orange n'est pas très lisible. Comment changer cela dans .vimrc?

Edit: Merci pour la réponse rapide, pour le schéma du désert, j'utilise maintenant la modification de surbrillance de recherche suivante:

highlight Search guibg='Purple' guifg='NONE'

Le violet est assez facile à détecter visuellement et à mon humble avis, il n'est pas utilisé pour la coloration syntaxique dans le schéma du désert.

Juve
la source

Réponses:

162

Regardez $VIMRUNTIME/colors/desert.vim. Les mappages de couleurs y sont définis avec la hi[ghlight]commande. La mise en évidence de la recherche est définie comme

hi Search guibg=peru guifg=wheat

pour l'interface graphique et

hi Search cterm=NONE ctermfg=grey ctermbg=blue

pour les terminaux.

Vous pouvez remplacer ce paramètre dans votre en .vimrcutilisant la même commande après avoir sélectionné votre colorscheme. Tapez :h hipour obtenir de l'aide.

Ferdinand Beyer
la source
2
Hey! Vous venez de me donner un autre indice. J'ai toujours utilisé: help au lieu de: h;)
Juve
2
J'ai trouvé la palette de couleurs torte pour répondre à mes besoins. : colourscheme torte
James Mills
13
Vous devrez peut-être également le faire :set hlsearchsi vos résultats de recherche ne sont pas du tout mis en évidence.
Jeff Allen
Pour faire cela une fois pour votre session vim actuelle et ne pas persister les changements, lancez-le simplement en mode ex ( :) devant la hicommande::hi Search cterm=NONE ctermfg=grey ctermbg=blue
Nitrodist
Je peux voir que cela met en évidence toutes les instances. Comment changer la surbrillance de l'instance sur laquelle se trouve actuellement le curseur?
Costa
49

Pour moi, je dois également ajouter hlsearch sous syntax ondans le~/.vimrc

set hlsearch
hi Search ctermbg=LightYellow
hi Search ctermfg=Red

À l'intérieur de VIM, vous pouvez également faire: :highlight Search ctermfg=yellowpour le changer à la volée.

  • ctermfg est pour la couleur de premier plan
  • ctermbg est pour la couleur de fond

les couleurs disponibles sur la page de documentation vi sont:

*cterm-colors*

NR-16   NR-8    COLOR NAME 
0       0       Black
1       4       DarkBlue
2       2       DarkGreen
3       6       DarkCyan
4       1       DarkRed
5       5       DarkMagenta
6       3       Brown, DarkYellow
7       7       LightGray, LightGrey, Gray, Grey
8       0*      DarkGray, DarkGrey
9       4*      Blue, LightBlue
10      2*      Green, LightGreen
11      6*      Cyan, LightCyan
12      1*      Red, LightRed
13      5*      Magenta, LightMagenta
14      3*      Yellow, LightYellow
15      7*      White
LeOn - Han Li
la source
6

Dans mon cas, la ligne dans la fenêtre QuickFix montrait un gris illisible sur cyan, ce qui était différent de mes résultats de recherche (un noir plus agréable sur la pêche) Cela a été confirmé par la commande

:hi

qui montrait le formatage de QuickFixLineet Searchcomme étant défini sur

QuickFixLine   xxx term=reverse guibg=Cyan
Search         xxx term=reverse ctermfg=0 ctermbg=222 guifg=#000000 guibg=#FFE792

xxxavait un exemple de format,

J'ai ajouté la ligne suivante à mon ~/.vimrc

hi QuickFixLine term=reverse ctermbg=52

et maintenant dans ma fenêtre de terminal j'ai un fond rouge foncé plus agréable. L'exécution hi:montre l'ajout du changement de couleur d'arrière-plan pour mon ternimal:

QuickFixLine   xxx term=reverse ctermbg=52 guibg=Cyan

(vim 8 sur MacOS High Sierra dans iTerm2, avec le thème molokai)

Spangen
la source