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?

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.)


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 :)


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.


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

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>

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.