![vi[m] lê o intervalo de linhas de outro arquivo](https://rvso.com/image/31296/vi%5Bm%5D%20l%C3%AA%20o%20intervalo%20de%20linhas%20de%20outro%20arquivo.png)
No Linux, editando file_B
no vim, quero adicionar a linha 10-25 do arquivo file_A
. Exemplo: tem-se todo um conjunto de documentos HTML com exatamente o mesmo cabeçalho e sim, pode-se criar um modelo e começar a partir daí, mas ainda assim:
Estou à procura deuma maneira simples [e elegante] de inserir um intervalo de linhas de um arquivo e adicioná-lo ao arquivo que estou editando no momento. No vim.
As soluções que encontrei até agora, masnão são exatamenteo que estou procurando são
- dentro
file_B
o comando:read file_A
adicionará *o arquivo_A inteiro* ao arquivo_B. Demais - existe copiar e colar dentro do vim - mas para isso é necessário ter aberto
file_A
- dentrofile_A
:10,25w! file_B
irá 'enviar' o intervalo de linhas fornecido parafile_B
.
Isso parece muito próximo de copiar e colar - é possível abrir várias janelas no vim
Mas como trabalho em uma tela de 8 polegadas, várias janelas dificultam a orientação
Como não consegui encontrar uma solução confortável, me pergunto se apenas entendi algo errado ou se as formas que encontrei até agora são comumente usadas e consideradas padrão.
Responder1
A melhor solução que posso encontrar é ligar externamente sed
e combinar isso com:read !
:r !sed -n -e '10,25p' fileB