Copiar un rango de líneas a otro fichero con el editor vi / vim

Si queremos copiar un bloque de líneas del fichero que estamos editando actualmente a otro fichero no es necesario copiar ese bloque de líneas en el buffer, abrir el nuevo fichero y pegarlas, sino que podemos hacerlo directamente con:

:10,15 w nuevofichero.txt

Suponiendo que queremos copiar de la línea 10 a la 15. Si no, deberemos cambiar el rango, pero la estructura será la misma.

También podemos indicar que queremos copiar de/hasta la línea actual con un punto y X líneas hacia atrás o hacia adelante con menos y más.

Por ejemplo, si queremos copiar la línea actual y las 5 siguientes, escribiremos:

:.,+5 w nuevofichero.txt

Para copiar la línea actual y las 4 anteriores:

:-4,. w nuevofichero.txt

Si el fichero ya existe, con esta estructura podemos sobreescribirlo. Si quisiéramos añadir líneas (por ejemplo, la línea actual y las 4 anteriores) a un fichero existente, escribiríamos:

:., +4 w >> fichero_existente.txt

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.