web-dev-qa-db-fra.com

rejouer une macro vim jusqu'à la fin du tampon

Je veux exécuter une macro que je viens d'enregistrer dans le registre "x" sur chaque ligne d'un tampon ouvert, de mon curseur à la fin du tampon, dans vim. Comment je fais ça?

Je sais que je peux rejouer la macro n fois:

15@x

... ou maintenez simplement enfoncé @ jusqu'à ce que j'atteigne la dernière ligne, mais je veux simplement appuyer sur quelques touches et en finir.

Merci d'avance.

80
Kevin

Personnellement je ferais

VG:normal @x

Modifier: le registre a changé pour celui que vous avez spécifié.

93
Randy Morris

Vous pouvez faire (en mode commande)

:%normal @x
60
ryan_s

faire une macro récursive:

qa@aq

ex:

qa0gUwj@aq

Il mettra en place le premier mot de la ligne actuelle jusqu'à la fin du fichier avec un seul @a. Mais assurez-vous "qu'un registre est vide:

let @a=""
23
Maxim Kim

999999@x, sauf si vous disposez d'un très grand tampon ...

10
Peter