![vi[m] lee el rango de líneas de otro archivo](https://rvso.com/image/31296/vi%5Bm%5D%20lee%20el%20rango%20de%20l%C3%ADneas%20de%20otro%20archivo.png)
En Linux, editando file_B
en vim quiero agregar las líneas 10-25 de file_A
. Ejemplo: uno tiene un conjunto completo de documentos HTML con el mismo encabezado y sí, uno podría crear una plantilla y comenzar desde allí, pero aún así:
Buscouna forma sencilla [y elegante] de insertar un rango de líneas de un archivo y agregarlo al archivo que estoy editando actualmente. En vitalidad.
Las soluciones que encontré hasta ahora perono son exactamentelo que estoy buscando, son
- adentro
file_B
el comando:read file_A
agregará *todo el archivo_A* al archivo_B. Demasiado - hay copiar y pegar dentro de vim, pero para este debe haberse abierto
file_A
- adentrofile_A
:10,25w! file_B
'enviará' el rango de líneas dado afile_B
.
Esto parece bastante parecido a copiar y pegar. - se pueden abrir varias ventanas en vim
, pero como trabajo en una pantalla de 8 pulgadas, varias ventanas dificultan la orientación.
Como no pude encontrar una solución cómoda, me pregunto si simplemente entendí mal algo o si las formas que encontré hasta ahora se usan comúnmente y se toman como la forma estándar.
Respuesta1
La mejor solución que se me ocurre es llamar externamente sed
y combinarla con:read !
:r !sed -n -e '10,25p' fileB