78 votes

Est-il une commande dans Vim/Vi pour déplacer le curseur à la fin d'une recherche, mettre en avant?

Existe-il des commandes Vim/Vi pour se déplacer à l'intérieur d'une recherche sélectionné segment?

Par exemple, si je recherche pour un mot, il y a toutes les commandes de mouvement du curseur à la fin du segment sélectionné? Dire que j'ai un mot, "FishTaco" et je recherche toutes les occurrences de "Poisson" et d'y insérer quelque chose après. Je sais que je pourrais faire un remplacement global, mais que si je veux seulement faire le changement dans un couple non-séquentielle des instances?

Je pouvais voir où il serait agréable d'être en mesure de mouvement du curseur à la fin du segment sélectionné pour effectuer une action.

119voto

Tim Points 24067

Vous pouvez le faire avec ceci:

/Fish/e

L' /e à la fin des terres de votre curseur à la fin de la zone de recherche (au lieu du premier caractère par défaut.

74voto

ghbarratt Points 4468

Si vous voulez placer votre curseur après le dernier caractère de Poisson, alors vous pourriez utiliser

/Fish/e+1

qui permettra de placer votre curseur à la fin de l'h. (Sans l' +1 le curseur prendra fin à la gauche du dernier caractère).

Si vous vous intéressez particulièrement à placer le curseur après le Poisson, mais seulement quand il apparaît dans "FishTaco", alors vous pouvez essayer l'une des options suivantes:

Vous pouvez utiliser

/FishTaco/s+4

et votre curseur se retrouver entre les Poissons et les Tacos. L' /s+4 place le curseur 4 places après le début de la recherche.

Vous pourriez également utiliser

/FishTaco/e-3

qui permettra de placer votre curseur 3 places à gauche de la gauche de la dernière (fin).

Vous pouvez également utiliser

/FishTaco/b+4 

parce qu' /b+4 seront traités comme /s+4.

25voto

Ingo Karkat Points 61399

Si vous avez déjà cherché /Fish, vous pouvez rapidement modifier la recherche d'aller à la fin du match par //e, qui répète la dernière recherche, mais ajoute l' e modificateur qui a déjà été expliqué.

11voto

kprobst Points 8360

Une fois que vous avez une sélection visuelle, vous pouvez utiliser o pour basculer de la position du curseur entre le début et la fin du bloc sélectionné. Lorsque la sélection est ligne-sage ceci permet de basculer la ligne de position, sens le curseur se déplace vers le début et fin de ligne de la sélection, mais pas à la fin ou de début de caractère. Lorsque la sélection est de caractère-bon, alors le mouvement est aussi de caractère.

Vous pouvez également utiliser `< et `> pour basculer le curseur entre le début et la fin du bloc visuelle, cependant cela affecte la sélection elle-même, de sorte qu'il est utilisé pour régler ou de réinitialiser la sélection de limites.

Edit: Ah, mais pour la recherche souligne cela ne fonctionne pas, car o lancera une ligne d'insertion. Je suppose que surbrillance de la recherche n'est pas la même qu'une sélection visuelle, désolé :)

8voto

romainl Points 55506

Le "curseur à la fin du match" partie de votre question est déjà une réponse.

Vous pouvez le faire :%s/Fish/FishTaco/c. Cela vous donne une occasion de confirmer ou de rejeter chaque substitution et de passer l'ensemble de la "curseur à la fin du match".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X