Lorsque vous recherchez un mot dans un fichier avec quelque chose comme /console.log
, toutes les instances de console.log
sont mises en surbrillance.
Lorsque ceux-ci ne vous intéressent plus, la mise en évidence peut être gênante. Ma stratégie actuelle pour supprimer la surbrillance est de faire quelque chose comme /asntehua
. Existe-t-il un moyen approprié de supprimer ce mot en surbrillance?
/skldafjlksjdf
;):nnoremap <silent> <CR> :nohlsearch<CR><CR>
. Appuyez sur Entrée en mode commande et la surbrillance disparaît.Réponses:
Au lieu de cela
:noh
, j'aime bien:let @/=""
mapper sur un raccourci clavier.La différence est que
:noh
le terme de recherche est laissé dans le registre de recherche. Ainsin
,N
en mode normal, reprenez la recherche en sautant au match suivant / précédent et en re-surbrillant. L'utilisation:let @/=""
, d'autre part, provoque le messageE25: No previous regular expression
et laisse votre curseur là où il se trouvait , ce qui est particulièrement pratique si vous ne le connaissez pas encorectrl
-o
et que vous l'avez frappé par inadvertancen
.Cela peut aussi être utilisé dans l'autre sens. Pour que vim mette en surbrillance du texte sans y sauter, vous pouvez
:let @/="some text"
Dans ces expressions, @ vous permet de vous référer à un registre et @ / est le registre contenant le dernier motif de recherche.
la source
Tapez simplement
(Où
<cr>
symbolise un retour à la ligne, c'est-à-dire Entrée.) La version complète non abrégée de cette commande est:nohlsearch
.Pour plus de commodité, vous pouvez avoir un mappage tel que
dans votre
.vimrc
. Puisque mon chef est Space, cela me permet d’effacer la mise en évidence simplement en tapant deux fois sur l’espace. (Par défaut,<Leader>
est défini sur\
)Une autre option populaire consiste à le lier à Ctrl+ L, car il s’agit plus ou moins de la valeur par défaut pour "écran de terminal redessiné", ce qui est très approximativement ce que vous faites:
Cela a également pour effet de redessiner l'écran du terminal, ce qui peut être lent si votre connexion au terminal est lente (ce qui est très rare de nos jours).
REMARQUE: Si vous utilisez tpope / vim-sensible, il propose déjà le
<C-l>
mappage indiqué ci-dessus.la source
Désactiver la recherche en surbrillance de façon permanente
Les matchs ne seront pas mis en surbrillance chaque fois que vous ferez une recherche en utilisant /
Effacer la surbrillance jusqu'à la prochaine recherche
ou
:nohlsearch
(efface jusqu'à ce que nou Nsoit enfoncé ou qu'une nouvelle recherche soit effectuée)Effacez la surbrillance en appuyant sur ESC
Effacez la surbrillance lorsque vous appuyez sur une autre touche ou sur une carte personnalisée.
Effacer les points forts en appuyant sur \(barre oblique inverse)
Effacer les faits saillants en frappant ESCdeux fois
la source
nnoremap <esc> :noh<return><esc>
à monvimrc
mais ça ne fonctionne pas. J'aijk
mappé pour m'échapper, cela pourrait-il être pourquoi?ESC
clé?jk
ne permet pas de désactiver le texte en surbrillance (mais fonctionne toujours commeEsc
). En appuyant sur la toucheEsc
en haut à gauche de mon clavier, vous désactivez le texte en surbrillance.jk
carte ci-dessous laESC
carte et assurez-vous que vous utilisez un simplemap
au lieu denoremap
Après avoir essayé plusieurs solutions suggérées pour les raccourcis de ceci dans ~ / vimrc, je me suis contenté de l’ajouter
nmap <esc><esc> :noh<return>
. Le double échappement empêche toute interférence avec la fonction des touches fléchées. Si vous êtes en mode insertion, un triple échappement est nécessaire. C'est rapide à exécuter et facile à retenir.la source
J'ai ajouté un fichier autocmd à mon fichier .vimrc qui supprime la mise en surbrillance à chaque fois que vous passez en mode insertion.
la source
nohl
au lieu delet @/=""
serait une meilleure approche, car alors vous n'empiéterez pas votre recherche actuelle.:let @/=""
commande maisautocmd InsertEnter * :noh
ne pour une raison quelconque, aucune idée pourquoi?Si vous ne souhaitez pas mettre en surbrillance après une recherche, vous pouvez utiliser ceci (mieux):
ou ceci (pire):
la source
Lorsque j'ai tapé
:help incsearch
, j'ai trouvé ce qui suit dans le manuel:que j'ai résigné à utiliser car d'autres solutions que j'ai essayées n'étaient pas parfaites et que cette solution vient "directement de la bouche du cheval", pour ainsi dire. Il met en évidence toutes les correspondances de recherche dans la fenêtre actuelle.
la source
Cela a l'avantage que vous n'avez pas à taper exactement. L'inconvénient est qu'il y a une chance sur environ 1: 68719476736 dans un fichier de 4096 octets que cela ne fonctionne pas et que votre curseur passe à un autre endroit. Cette chance augmente pour les fichiers plus volumineux.
la source
asdfasdf
est spéciale en ce sens qu'elle se produit souvent dans des fichiers pratiques, par rapport à une séquence de 8 octets sélectionnée de manière aléatoire. Ainsi, les chances sont beaucoup plus élevées. :-)Je ne pense pas que supprimer hls du tout serait une bonne chose, que diriez-vous de rendre facile d'activer ou de désactiver la création d'un raccourci simple (booléen) Dans mon cas ->
La magie opère à cause de "
!
" à la fin du réglagela source
Je trouve qu'il est très rare pour moi de vouloir mettre l'accent sur quelque chose et quand j'ai besoin de le faire, ce n'est que pour un bref instant. Ma solution est
Cela active la surbrillance lorsque vous appuyez sur
\/
et le désactive à nouveau si vous appuyez à nouveau. Cela donne un accès facile à la mise en évidence dans les rares cas où vous en avez besoin.la source