Quiero ejecutar una macro que acabo de registrar en el registro " x" en cada línea de un búfer abierto, desde el cursor hasta el final del búfer, en vim. ¿Cómo puedo hacer eso?
Sé que puedo reproducir la macro n veces:
15@x
... o simplemente mantener presionado @hasta que llegue a la última línea, pero quiero presionar algunas teclas y terminar con eso.
Gracias por adelantado.

Respuestas:
Personalmente lo haría
Editar: cambio de registro al que especificó.
fuente
Puedes hacer (en modo comando)
fuente
hacer macro recursiva:
ex:
UPCASE la primera palabra desde la línea actual hasta el final del archivo con una sola @a. Pero asegúrese de que "un registro esté vacío:
fuente
%:normalenfoque, ya que respeta cualquier movimiento de línea dentro de la macro, por lo que es útil cuando las líneas no son idénticas en forma. Me resulta más fácil crear una macro 'a' para definir la acción y luego hacer que la macro 'b' haga el bit recursivo, es decir, qb @ a @ bq.ctrl-cparar si eso sucede!:set nowrapscanhace que falle y se detenga al llegar al final del archivo.qaqantes de la macro:qaqqa0gUwj@aq. Además, si olvida poner el@qal final, siempre puede hacerloqApara comenzar a agregar un registro, y luego hacerlo@q. Por lo general, grabo en reg q por alguna razón porque es fácil (especialmente para macros recursivas) y generalmente termino haciendo enqqqqqgUiwj@qqlugar de dos macros. Los primeros tresqs borran reg q, los dosqsegundos comienzan a grabar. Ver vim.wikia.com/wiki/Record_a_recursive_macroaregistro, se podría escribir simplementeqaq999999@x, a menos que tenga un búfer muy grande ...fuente
%:normal @xo1,$:normal @x?99999@xes lo natural que se te ocurre cuando tienes prisa :)Desde vim wiki, versión abreviada: qqqqq para grabar la macro @qq para terminar de grabar @q para ejecutarla (y se ejecutará hasta el final del archivo)
fuente