web-dev-qa-db-fra.com

"Trouver le suivant" dans vim

Pour rechercher cake dans vim, tapez /cake, mais le curseur passe à la première correspondance lorsque j'appuie sur la touche Entrée. Existe-t-il une commande vim analogue à "find next"?

486
Yktula

Il est n pour la prochaine et N pour précédent.

Et si vous utilisez la recherche inversée avec ? (par exemple ?cake) au lieu de /, c’est l’inverse.

S'il est installé sur votre système, vous devriez essayer de lancer la commande vimtutor à partir de votre terminal, ce qui lancera un tutoriel sur les commandes de base de Vim.

conseil de Rob Wells à propos de * et # est également très pertinent.

806
Xavier T.

Le raccourci le plus utile dans vim, IMHO, est le * clé.

Placez le curseur sur un mot et appuyez sur le * clé et vous passerez à la prochaine instance de ce mot.

Le # key fait la même chose mais saute à l'instance précédente du mot.

Vraiment un gain de temps.

200
Rob Wells

Quand je commençais j'avais besoin de regarder une démo

Comment chercher dans VIM

  1. type /
  2. tapez le terme de recherche par ex. "var"
  3. appuyez sur  enter
  4. pour prochaine instance , appuyez sur n (pour précédent  N)
70
iamnotsam

Cherchez-vous le n clé?

14
sam hocevar

Dactylographie n ira au prochain match.

13
Jim Deville

Comme discuté, il y a plusieurs façons de rechercher:

/pattern
?pattern
* (and g*, which I sometimes use in macros)
# (and g#)

plus, navigation prev/next avec N et n.

Vous pouvez également modifier/rappeler votre historique de recherche en lançant l'invite de recherche avec /, puis faites défiler avec C-p/C-n. Encore plus utile est q/, qui vous permet d'accéder à une fenêtre dans laquelle vous pouvez parcourir l'historique de recherche.

Il faut également prendre en considération le très important 'hlsearch' (tapez :hls pour l'activer). Cela facilite beaucoup la recherche de plusieurs instances de votre modèle. Vous pourriez même vouloir rendre vos matchs très lumineux avec quelque chose comme:

hi Search ctermfg=yellow ctermbg=red guifg=...

Mais alors vous pourriez devenir fou avec des allumettes jaunes constantes sur tout votre écran. Vous vous retrouverez donc souvent avec :noh. C'est tellement courant qu'un mappage est en ordre:

nmap <leader>z :noh<CR>

Je me souviens facilement de celui-ci sous le nom de z, car j’écrivais constamment /zz<CR> (qui est une occurrence rare, inhabituelle à saisir rapidement) pour effacer ma mise en surbrillance. Mais le mappage :noh est bien meilleur.

12
Micah Elliott

Si vous appuyez sur ctrl + entrée après avoir appuyé sur quelque chose comme "/ wordforsearch", vous pouvez trouver le mot "wordforsearch" dans la ligne en cours. Ensuite, appuyez sur n pour la correspondance suivante; appuyez sur N pour la correspondance complète.

1
bass chuck