Chaque fois que vous souhaitez rechercher du texte dans vim, vous devez taper /puis la chaîne que vous recherchez.
Cependant, lorsque la chaîne est longue et que vous souhaitez le faire plusieurs fois, existe-t-il un moyen de le faire pour que vous n'ayez pas à taper /andthisreallylongstring
plus d'une fois?
Réponses:
Appuyez sur "n" après avoir terminé une recherche, puis il répétera l'action précédente (recherche).
la source
N
au résultat précédent./
, vous vous souviendrez du dernier terme de rechercheq/
une fenêtre modifiable avec tous les termes de recherche récents./
et Entrée répétera la recherche précédente. Frapper?
et entrer répétera la recherche précédente à l'envers./Ctrl-F
est une alternative àq/
cela peut être un mnémonique plus facile (ctrl-f == find). Comme q, il fonctionne également en mode commande.Si la chaîne que vous recherchez se trouve sous le curseur, vous pouvez taper *pour la rechercher vers l'avant ou #pour la rechercher vers l'arrière.
la source
La façon dont je recherche habituellement est quelque chose comme;
Vim conserve un historique de vos recherches, donc si vous avez besoin de recherches précédentes, vous pouvez appuyer sur '/' et utiliser les touches HAUT et BAS ou <Ctrl-P> <Ctrl-N> pour parcourir l'historique de recherche.
Vous pouvez aussi utiliser '?' au lieu de «/» pour effectuer une recherche en arrière.
J'aime aussi utiliser:
Maintenant, ce ne sera une recherche sensible à la casse que si vous avez des caractères majuscules dans la chaîne de recherche.
la source
Deux conseils supplémentaires qui peuvent rendre votre recherche plus efficace sont
set hlsearch
etset incsearch
.set hlsearch
, eh bien, met en évidence vos résultats de recherche. Tapez:noh
pour les désactiver lorsque vous n'en avez plus besoin.set incsearch
active la recherche incrémentielle.Extrait de
:help incsearch
Sans
incsearch
, vos résultats ne seront affichés qu'après avoir appuyé<CR>
sur votre mot-clé de recherche.Exemple:
Vous souhaitez rechercher
wildignore
Vous tapez
/wild
et la première correspondance est mise en surbrillance automatiquement.Tapez ensuite
i
et il passe à la prochaine correspondance correcte.la source
Une autre astuce pas encore couverte: En appuyant sur les caractères
q
puis/
, vous obtiendrez une liste de vos termes de recherche précédents. Vous pouvez les modifier comme n'importe quelle autre ligne d'un document, puis appuyez sur Entrée pour les réutiliser pour une nouvelle recherche.la source
Après avoir appuyé sur /pour lancer la recherche, vous pouvez utiliser la flèche vers le haut pour parcourir votre historique de recherche.
Vous pouvez entrer une expression régulière pour éviter d'avoir à taper tout le terme de recherche:
and.*longstring
la source
Est-ce que juste frapper / sans argument ne fonctionne pas pour vous? Sur tous nos systèmes, cela provoque une répétition de la dernière recherche effectuée.
la source
Il y a un joli modèle que vous pouvez suivre pour rechercher du texte tiré . Ensuite, vous n'avez même pas besoin de taper le mot en soi, si vous y avez accédé autrement que par une recherche. En résumé, si vous êtes sur le premier caractère du mot que vous souhaitez rechercher:
(puis passez au match suivant avec n ou N)
Cependant
*
(ou#
) accomplit à peu près la même chose que toutes ces commandes. La seule différence est que vous pouvez être flexible en fonction de la quantité de mot que vous spécifiez (plutôt que e, à la fin du mot, vous pouvez sélectionner autant que vous le souhaitez, par exemple 9l)la source
/string
- Recherche en avant de chaîne?string
- Rechercher une chaînen
- Rechercher la prochaine instance de chaîneN
- Rechercher l'instance précédente de la chaînela source
Beaucoup de temps lors de la programmation, je vais chercher
aVeryLongVariableNameInTheProgram
.Dans vim, vous pouvez très facilement extraire du texte dans un tampon / registre, puis le rechercher:
"Byw
pour extraire le texteaVeryLongVariableNameInTheProgram
dans le tampon B (choisissez votre favori, j'ai utilisé B)/^RB
(barre oblique, Ctrl-R, B) pour coller le tampon B sur la ligne de rechercheBien sûr, vous pouvez également tirer jusqu'à la fin de la ligne, etc. au lieu de tirer un seul mot - il se trouve que j'utilise tout le temps la séquence ci-dessus.
la source
De plus, vous pouvez coller le contenu de n'importe quel registre dans l'invite de recherche en appuyant sur Ctrl+ Rpuis sur le nom du registre, par exemple, / Ctrl+ R0 Enter.
la source
La longue chaîne dans laquelle vous entrez un nom de variable? Ou une longue chaîne qui se trouve dans votre texte? Appuyez ensuite sur
*
pour rechercher le mot / la chaîne sous votre curseur.la source