Je souhaite rechercher plusieurs chaînes dans Vim/gVim et les mettre en surbrillance dans différentes couleurs. Y a-t-il un moyen de faire cela avec Vim prêt à l'emploi ou avec un plug-in?
Essayez " Mettez en surbrillance plusieurs mots ", qui utilise matchadd()
.
Il existe deux méthodes simples pour mettre en surbrillance plusieurs mots dans l’éditeur vim.
Fondamentalement, la première méthode vous place en mode d'expression régulière, de sorte que vous n'avez pas besoin de mettre de barres obliques supplémentaires avant chaque canal ou tout autre délimiteur utilisé pour la recherche.
Cela peut être fait manuellement, sans script, pour deux modèles de recherche.
:match Search /pattern/
:match Search /<CTRL-R>/ # highlight the current search pattern
Rechercher est le nom du groupe de surbrillance, utilisez cette option pour sélectionner un autre groupe à surligner avec une couleur différente.
:match <TAB>
:match <TAB> # completion will list all highlight group
Ceci est pratique lorsque vous ne pouvez pas utiliser votre propre configuration vim.
:match none # clear the match pattern to stop highlighting
Pour rechercher plusieurs chaînes dans vim, vous pouvez procéder comme suit:
/search1\|search2
Cela fonctionne et mettra en surbrillance à la fois search1
et search2
, mais avec la même couleur . Vous devez le faire dans l’éditeur vim.
Oui, vous pouvez utiliser matchadd()
.
Pour ajouter une surbrillance, par exemple. pour les espaces de fin:
:highlight ExtraWhitespace ctermbg=grey guibg=grey
:call matchadd('ExtraWhitespace', '\s\+$', 11)
Pour voir tous les matchs:
:echo getmatches()
Pour supprimer des allumettes, utilisez matchdelete()
. Par exemple.:
:call matchdelete(7)
MultipleSearch: surligne plusieurs recherches en même temps, chacune avec une couleur différente.
http://www.vim.org/scripts/script.php?script_id=479
:Search <pattern1> //will highlight all occurences of <pattern1> in the current buffer.
A subsequent :Search <pattern2> will highlight all occurences of <pattern2> in the current buffer.
:%s /red\|green\|blue/
Cependant, je ne suis pas sûr de savoir comment garder différentes couleurs pour différents mots clés. Merci.
Mon Mark plugin peut mettre en évidence simultanément plusieurs mots de différentes couleurs, comme la recherche intégrée. Il est livré avec de nombreux mappages et commandes, permet de conserver les modèles et supporte plusieurs palettes de couleurs.
MultipleSearch2 est un autre script intégré à la recherche de vim: http://www.vim.org/scripts/script.php?script_id=1183