Direction de la recherche de texte dans Vim

10

Après avoir recherché "foo" en faisant "? Foo", je peux rechercher en avant par "n" ou en arrière par "N", mais parfois les directions n / N sont inversées au milieu de la recherche. Si je redémarre Vim, c'est à nouveau OK. Sur quelle séquence de touches ai-je pu appuyer pour provoquer cela? Comment revenir en mode normal?

Je ne me souviens pas avoir jamais rencontré ça dans le vieux Vi.

EDIT: ce n'est pas la touche de verrouillage des majuscules. Merci pour la suggestion.

grokus
la source
Je suppose que ce n'est pas seulement le retour à la fin / au début du fichier? Ou peut-être avez-vous tapé * ou quelque chose qui inverse la recherche? Je sais que je le fais involontairement beaucoup de temps.
Dave Vogt
@Dave Vogt, ce n'est pas seulement la fin / le début du fichier. Je viens de tester " ", vous avez raison, si j'appuie sur " " je peux changer / corriger le sens de la recherche. Si vous mettez une réponse, je la voterai et l'accepterai. Merci.
grokus

Réponses:

11

Cela peut arriver si vous avez commencé à chercher en arrière avec ?foobaret que vous avez appuyé /au milieu. Maintenant, vous cherchez en avant , donc net vous Nchangez par rapport à ce que vous aviez. La même chose se produira si vous avez commencé avec /et appuyé ?au milieu.

Nathan Fellman
la source
Monsieur, vous avez raison. Je viens de tester ce que tu as dit. Pourriez-vous me dire quel rôle "*" joue dans ce milieu?
grokus
1
@grokus: *signifie rechercher en avant le mot sous le curseur.
Daenyth
@Daenyth, merci. J'ai toujours pensé que je n'étais pas trop mal à Vim. (Je pourrais faire avancer les choses) Aujourd'hui, je reconsidère ma position.
grokus
et pour suivre @Daenyth, vous pouvez rechercher vers l'arrière le mot sous le curseur à l'aide #. Celles-ci ne correspondront que sur le mot entier. Pour rechercher le mot sous le curseur, y compris à l'intérieur d'autres mots, utilisezg*
Nathan Fellman
3

Cela semble stupide, mais avez-vous vérifié le verrouillage des majuscules?

Chen Levy
la source
Oui je l'ai fait. Il était en position "off". J'ai vu ce comportement tant de fois, donc j'en avais finalement marre et j'ai décidé d'aller au fond des choses.
grokus
0

Nathan a déjà répondu à la raison pour laquelle cela se produit, mais si vous utilisez les deux directions régulièrement et que vous voulez nà toujours regarder vers l' avenir et Nà toujours regarder en arrière, quelle que soit la façon dont vous cherchez, vous pouvez mettre dans votre .vimrc:

nmap n /<CR>
nmap N ?<CR>

/et ?sans paramètres effectuer la dernière recherche, dans leurs directions respectives (absolues).

Action en justice de Fund Monica
la source