265 votes

Comment faire pour que Vim ne mette pas en évidence ce que vous avez cherché ?

Je cherche "nurple" dans un fichier. Je l'ai trouvé, super. Mais maintenant, chaque occurrence de "nurple" est rendue en noir sur jaune. Pour toujours.

Pour toujours, c'est-à-dire jusqu'à ce que je cherche quelque chose dont je sais qu'il ne sera pas trouvé, comme "asdhfalsdflajdflakjdf", simplement pour que cela efface la surbrillance de la recherche précédente.

Je ne peux pas simplement appuyer sur une touche magique pour tuer les surbrillances quand j'ai fini de chercher ?

37 votes

/<mash keyboard>

0 votes

Définitivement un duplicata de stackoverflow.com/questions/657447/ et devrait être fermé pour y diriger les gens

1 votes

@BenCreasy pourquoi qualifier un ancien message de duplicata d'un plus récent ?

386voto

Lee Points 1771

:noh (abréviation de nohighlight ) permet d'effacer temporairement la surbrillance de la recherche. La recherche suivante sera toujours en surbrillance.

68 votes

N'ayez crainte, la mise en évidence revient avec la prochaine recherche. La commande devrait probablement s'appeler clearhighlight.

1 votes

@kmarks2 on se voit à la prochaine année bissextile, je suppose ?

13 votes

Juste pour clarifier le commentaire de @steamer25. :set nohlsearch désactive complètement la mise en évidence de la recherche :nohlsearch o :noh efface la surbrillance actuelle, mais vous laisse en mode hlsearch pour la prochaine recherche.

200voto

Lucas S. Points 5703

Il suffit de mettre ceci dans votre .vimrc

" <Ctrl-l> redraws the screen and removes any search highlighting.
nnoremap <silent> <C-l> :nohl<CR><C-l>

13 votes

Oooh, c'est une bonne nouvelle. J'ai utilisé /@@<ENTER> qui fonctionne tant qu'il n'y a pas de @@ dans mes fichiers. Je dois modifier mon vimrc MAINTENANT !

2 votes

C'est génial, ça a guéri beaucoup de mes maux de tête ! Je pense ,qu'il est préférable d'utiliser la commande complète dans vimrc (:nohlsearch) pour éviter les conflits à l'avenir.

8 votes

<leader>c :nohl<CR> est une meilleure option, je pense.

91voto

jon Points 1806

/lkjasdf a toujours été plus rapide que :noh pour moi.

29 votes

C'est en faisant cela devant quelqu'un qui connaissait Vim mieux que moi que j'ai appris l'existence de :nohls.

27 votes

C'est dégoûtant ! Ça ajoute lkjasdf à votre historique de recherche.

2 votes

Alors faites :noh plus rapide pour vous : nnoremap <leader>h :noh<cr>

20voto

Zsolt Botykai Points 20615

Alors je préfère ceci :

map  <F12> :set hls!<CR>
imap <F12> <ESC>:set hls!<CR>a
vmap <F12> <ESC>:set hls!<CR>gv

Et pourquoi ? Parce qu'il bascule l'interrupteur : si la surbrillance est allumée, alors appuyer sur F12 l'éteint. Et vica versa. HTH.

1 votes

Cela peut également être réalisé avec le paramètre "invhlsearch".

0 votes

J'aime ça, mais je pense que votre i La cartographie serait meilleure avec gi au lieu de a . Soit cela, soit <C-o>:set hls!<CR> .

0 votes

Mais F12 est ma clé yakuake :(

16voto

Daniel Bruce Points 3413

Ajoutez la ligne suivante à la fin de votre .vimrc pour éviter toute mise en évidence :

set nohlsearch

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X