Recherche de sélection dans vim

J’utilise les plugins vim et vim pour Visual Studio lors de l’écriture de C ++. Souvent, je cherche à rechercher une chaîne dans une fonction, par exemple chaque appel à object->public_member.memberfunc() .

Je sais que vim offre un moyen pratique de rechercher un seul mot, en appuyant sur * et # , et il peut également rechercher des chaînes typées en utilisant la barre oblique / commande omniprésente. Lorsque vous essayez de rechercher toutes les instances d’une chaîne plus longue comme celle ci-dessus, il faut un certain temps pour taper à nouveau après / .

Existe-t-il un moyen de rechercher une sélection? Par exemple, mettez en surbrillance avec v , puis copiez avec y , y -t-il un moyen de coller après / ? Y a-t-il un raccourci plus facile?

    Vérifiez cette astuce Vim: Recherchez le texte sélectionné visuellement

    Ou vous pouvez simplement tirer le texte sélectionné avec y et aller au mode de recherche / , alors vous pouvez coller le dernier texte tiré avec Ctrl + R 0

    En vous appuyant sur la réponse d’Arcanex, voici une autre façon de faire ce que vous voulez.

    1. Yank le texte que vous voulez rechercher
    2. q / p
    3. Entrer

    Explication

    q/ fonctionne de manière similaire à la recherche vanilla / sauf que vous êtes en mode commande, alors p fait réellement “coller” au lieu de taper le caractère p . Donc, ce qui précède va casser les caractères que vous recherchez, puis les coller dans une recherche.

    (voir :help q/ )

    Utilisez q / au lieu de / (Identique à q:) . Vous pouvez maintenant éditer VIM via votre historique de commandes et de recherches! (Essayez Ctrl-N et Ctrl-P parfois).

    Je viens d’apprendre (à travers l’excellent livre Practical Vim ) qu’il existe un plugin pour cela. Vous pouvez trouver le plugin sur GitHub .

    Le plugin vous permet de rechercher une sélection visuelle avec * et # .

    Vous pouvez réellement sélectionner le texte visuellement et appuyer sur * et # pour rechercher la prochaine occurrence … Cela fonctionnera de la même manière, la seule mise en garde est que:

    Les espaces dans la sélection correspondent à n’importe quel espace, lors de la recherche (la recherche de “hello world” trouvera également “hello” à la fin d’une ligne, avec “world” au début de la ligne suivante).

    http://vim.wikia.com/wiki/Search_for_visually_selected_text