¿Cómo sustituir en varias líneas?

10

Me gustaría insertar una palabra en varias líneas, ¿hay algún comando como

:[2,3,5,7,11]s/^/word\ /g

¿Cuál se insertaría wordal comienzo de la línea 2, la línea 3, la línea 5, la línea 7 y la línea 11?

Aquí, varias líneas no son contiguas.

usuario3813057
fuente

Respuestas:

16

Realizar una sustitución en varias líneas consecutivas es bastante fácil:

:2,11s/^/word /

pero un rango no puede cubrir líneas no consecutivas.

Sin embargo, con un poco de creatividad, es completamente posible evitar esa "limitación".

De hecho, puede repetir la última sustitución con :&o :&&(la primera no conservará las banderas originales, la última sí) para que pueda encadenar las sustituciones con bastante facilidad:

2s/^/word /|3&|5&|7&|11&

Ver :help :&y desplazarse por :&&.

romainl
fuente