Réponses:
C'est npour le suivant et Npour le précédent.
Et si vous utilisez la recherche inversée avec ?
(par exemple, ?cake
) à la place de /
, c'est l'inverse.
S'il est installé sur votre système, vous devriez essayer d'exécuter la vimtutor
commande à partir de votre terminal, qui lancera un didacticiel des commandes Vim de base.
Rob Wells conseils au sujet *et #est également très pertinente.
n
comme la plupart des opérateurs vim peuvent être préfixés par un nombre pour répéter la commande. Si vous tapez, 10n
il passera au 10e résultat (après le premier). Cela fonctionne également pour tous les opérateurs de mouvement comme 3j
descendre 3 lignes.
Le raccourci le plus utile dans Vim, à mon humble avis, est la *clé.
Placez le curseur sur un mot et appuyez sur la *touche et vous passerez à l'instance suivante de ce mot.
La #clé fait de même, mais elle saute à l'instance précédente du mot.
C'est vraiment un gain de temps.
n
et N
vous faire avancer et reculer à travers les *
matchs une fois que vous avez appuyé *
. (Ou vous pouvez simplement continuer à appuyer *
pour avancer ou #
pour reculer, mais l'utilisation de ces touches décalées est généralement sous-optimale.)
/Func
, demandez-moi de le faire SomeFunc
, puis appuyez sur '*' pour passer à l'instance suivante SomeFunc
lorsque l'instance suivante de Func
est en SomeOtherFunc
.
/\<foo\>
cela ne correspond pas"className::foo()"
Quand je commençais, j'avais besoin de regarder une démo .
/
*
est incorrecte. C'est-à-dire un fichier aa aaa
. Recherche /aa
, vous devez correspondre. Lors de la première correspondance, appuyez sur pour *
modifier le terme de recherche.
Vous cherchez peut-être la nclé.
La frappe nira au match suivant.
Comme indiqué, il existe plusieurs façons de rechercher:
/pattern
?pattern
* (and g*, which I sometimes use in macros)
# (and g#)
plus, en naviguant entre prev et next avec Net n.
Vous pouvez également modifier / rappeler votre historique de recherche en ouvrant l'invite de recherche avec /
puis en faisant défiler avec C-p
/ C-n
. Encore plus utile q/
, ce qui vous amène à une fenêtre où vous pouvez parcourir l'historique de recherche.
Également à considérer est le tout-important 'hlsearch'
(type :hls
à activer). Cela facilite beaucoup la recherche de plusieurs instances de votre modèle. Vous voudrez peut-être même rendre vos matchs plus brillants avec quelque chose comme:
hi Search ctermfg=yellow ctermbg=red guifg=...
Mais alors vous pourriez devenir fou avec des correspondances jaunes constantes sur tout votre écran. Vous vous retrouverez donc souvent à utiliser :noh
. C'est tellement courant qu'un mappage est en ordre:
nmap <leader>z :noh<CR>
Je me souviens facilement de celui-ci z
car j'avais l'habitude de taper constamment /zz<CR>
(ce qui est un événement rare et rapide) pour effacer ma surbrillance. Mais la :noh
cartographie est bien meilleure.
q/
, vous devriez également jouer avec q:
. Les deux sont vraiment pratiques! (Pas vraiment lié à cette question, cependant.)
Si vous appuyez sur Ctrl+ Enteraprès avoir appuyé sur quelque chose comme "/ wordforsearch", vous pouvez trouver le mot "wordforsearch" dans la ligne actuelle. Appuyez ensuite sur npour le match suivant; appuyez sur Npour le match précédent.
:help
.:help /
affiche de l'aide sur la recherche et la réponse à votre question apparaît un peu en bas de la page.