Supprimer la surbrillance de recherche VIM

13

Après une recherche que j'ai faite, toutes les correspondances pour la requête respective restent en surbrillance et c'est ennuyeux. Cela se produit même après avoir fermé le fichier respectif (comportement normal?). Comment supprimer cela?

Alex
la source

Réponses:

15

Vous voulez la commande :nohlsearch, mais vous ne voulez pas la taper à chaque fois. Mettez ceci dans votre ~ / .vimrc:

nnoremap <silent> <leader>n :nohlsearch<CR>

Après cela, vous entrez simplement votre leader (qui est par défaut \), puis npour effacer les correspondances. Vous n'avez pas besoin d'utiliser n; si vous préférez, choisissez autre chose.

Vous pouvez également remapper votre chef à quelque chose de plus confortable, si vous le souhaitez. J'utilise une virgule:

let mapleader = ","

(Cela précède le mappage pour effacer les recherches.)

Télémaque
la source
4
Je fais juste: non, ce qui est suffisant pour que vim sache ce que je veux dire. :)
sml
@scottl Assez bien (et bon rappel que toutes les commandes ont des raccourcis), mais j'aime toujours mapper les commandes fréquemment utilisées.
Télémaque
10

je viens /qiw772723euzde "rechercher" quelque chose qui n'est pas dans le fichier. solution de contournement hacky, je sais, je suis également intéressé par une vraie solution :)

akira
la source
c'est horrible mais une belle "solution" rapide et sale :)
matthias krull
4

Semblable à la réponse de @Telemachus ci-dessus, un commentaire sur cette réponse sur SO par @David Winslow a suggéré de mapper une bascule de hlsearch. Vous mapperiez les éléments suivants:

nmap <silent> <leader>n :set hlsearch!<CR>

Si vous appuyez sur n, la recherche de surbrillance sera désactivée et activée à chaque fois que vous la frapperez.

technomalogique
la source
3

Dans ma configuration, j'efface les termes de recherche mis en évidence en appuyant simplement sur Entrée en mode commande . Voilà comment c'est configuré.

set hlsearch    " highlight all matched terms
" Pressing return clears highlighted search
:nnoremap <CR> :nohlsearch<CR>/<BS>

En guise de remarque, j'aime m'assurer que mes correspondances de recherche sont mises en évidence très clairement , quel que soit le jeu de couleurs, je leur donne donc du texte noir sur fond jaune.

" When highlighting search terms, make sure text is contrasting color
:highlight Search ctermbg=yellow ctermfg=black
" Do the same for gvim
:highlight Search guibg=yellow guifg=black
Nathan Long
la source
0

J'ai une solution légèrement différente. Pour moi, il me semble que la chose naturelle à faire serait d'appuyer <esc>pour que cela disparaisse. Mais ça ne marche pas. Mapping <esc>pour :noha des effets secondaires désagréables, de sorte que n'est pas une option non plus . <Leader>net des cartographies similaires ne me semblent pas intuitives pour une tâche aussi triviale. Cependant, appuyer <esc>deux fois est une chose avec laquelle je peux vivre:

nnoremap <silent> <esc><esc> :nohlsearch<CR>

sigvaldm
la source