Vim: Comment changer la couleur de surbrillance de l'élément actuel lors de la substitution

11

J'ai changé mes couleurs Vim donc quand je fais un /search, chaque match est surligné en jaune vif. Cela rend les correspondances beaucoup plus faciles à voir.

Cependant, lorsque j'effectue une substitution avec le drapeau de confirmation, :%s/find/replace/gctous les éléments sont surlignés en jaune, ce qui est bien, mais je ne peux pas dire quel élément Vim me demande de confirmer.

Comment puis-je mettre en surbrillance l'élément de substitution actuel dans une autre couleur afin de voir ce qui doit être confirmé?

jordelver
la source
1
Voir superuser.com/questions/86604/… .
Daniel Andersson

Réponses:

7

Le groupe de surbrillance que vous souhaitez est "IncSearch" même si vous n'avez pas activé l'option "incsearch" - il est également utilisé pour la substitution actuelle lorsque la confirmation est activée.

Voir " :help hl-IncSearch".

Heptite
la source
Merci, c'est exactement ce dont j'avais besoin. Je dois jouer avec les couleurs maintenant :)
jordelver
1
Question de suivi. Est-il possible de mettre en surbrillance les correspondances lorsque vous parcourez chacune avec net Nlorsque vous effectuez une recherche normale?
jordelver
Je suppose que vous ne voulez pas simplement activer "hlsearch"? Je ne pense pas que la correspondance "actuelle" puisse être mise en évidence différemment de toutes les correspondances, mais je n'en ai pas eu besoin puisque le curseur se déplace vers la correspondance actuelle avec n / N.
Heptite
Désolé, ce n'était pas clair. J'ai défini différentes couleurs pour IncSearchet Search. Lorsque je /searchterm, la correspondance est mise en évidence dans la IncSearchcouleur. Lorsque j'appuie sur Entrée pour pouvoir appuyer sur npour passer à chaque match, tous les matchs prennent la Searchcouleur. Ce que je veux, c'est changer la couleur de chaque match au fur et à mesure. Cela a-t-il du sens? :) C'est ce qui se passe maintenant avec :%s/find/replace/gc. Chaque match est mis en évidence d'une couleur différente lorsque j'appuie sur you n.
jordelver
Oui, comme je l'ai dit, il n'y a pas d'option pour le faire. Je ne pense pas que cela soit considéré comme nécessaire car le curseur est censé être sur la correspondance actuelle dans ce contexte, et cela devrait être un indicateur assez clair.
Heptite
2

Une fois dans vim, vous pouvez utiliser le mode de commande:
:highlight IncSearch guibg=green ctermbg=green term=underline

Pour l'avoir toujours, mettez-le dans votre .vimrc:
highlight IncSearch guibg=green ctermbg=green term=underline

p1100i
la source