tutorial - vim comandos
En Vim, ¿cómo aplico una macro a un conjunto de líneas? (4)
¡También hay un complemento llamado RangeMacro, que hace exactamente lo que usted quiere! Para todos los que no pueden adivinar por el nombre, lo que hace: repite una macro grabada para cada línea en un rango dado, no importa si por selección visual o por a: 40,50 /: +10
Tengo un archivo con muchas líneas. Grabé una macro que realiza una operación en una sola línea. Quiero repetir esa macro en todas las líneas restantes en el archivo. ¿Hay una manera rápida de hacer esto?
Intenté Ctrl + Q, resalté un conjunto de líneas y presioné @@, pero eso no pareció ser el truco.
También puedes hacer esto:
En modo normal:
[number of times to apply the macro] @ [register]
Por ejemplo:
1000@q
Manzanas la macro en el registro q a las siguientes 1000 líneas.
Use el comando normal en modo Ex para ejecutar la macro en múltiples / todas las líneas:
Ejecute la macro almacenada en el registro a en las líneas 5 a 10.
:5,10norm! @a
Ejecute la macro almacenada en el registro a en las líneas 5 hasta el final del archivo.
:5,$norm! @a
Ejecute la macro almacenada en el registro a en todas las líneas.
:%norm! @a
Ejecute el macro store en el registro a en todas las líneas que coincidan con el patrón .
:g/pattern/norm! @a
Para ejecutar la macro en las líneas seleccionadas visualmente, presione V y la j o k hasta que se seleccione la región deseada. Luego escribe :norm! @a
:norm! @a
y observe que se muestra la siguiente línea de entrada.
:''<,''>norm! @a
Ingrese : ayuda normal en vim para leer más.
This will run the macro ''a'' on all lines that contain ''pattern''
:g/pattern/normal! @a