Seleccione las líneas y luego presione :
para ingresar al modo de comando. Vim se completará automáticamente '<,'>
, lo que restringe el rango a las líneas seleccionadas. Para su ejemplo, puede usar el :s
comando para hacer el intercambio:
:'<,'>s/\(\w\+\), \(\w\+\)/\2, \1/
Esto intercambiará dos palabras separadas por una coma en cada línea de la selección visual.
También puede usar '<
y '>
como cualquier otro marcador o posición de línea, por ejemplo, como parte de un comando de movimiento, por lo que en el modo normal d'<
se eliminará desde la posición actual del cursor hasta el inicio de la primera línea en la selección visual. Las marcas permanecen vigentes incluso si el bloque ya no se resalta visualmente.
Si desea reproducir una macro grabada en cada línea, debe ejecutar la macro con el :normal
comando. Desafortunadamente, el :normal
comando no opera en un rango de líneas, pero puede solucionarlo con el :global
comando. Esto ejecuta un :ex
comando en cada línea que coincide con una expresión regular, por lo que puede hacer esto:
:'<,'>g/^/ norm @a
Explicación:
:'<,'> for every line in the visual block
g/^/ on every line that matches the regex /^/ - i.e. every line
norm run in normal mode
@a the macro recorded in a