Eu tenho um monte de linhas que quero gravar em um arquivo diferente.
Como eu posso fazer isso?
30
Você pode fazer
:100,200w filename
É claro que 100.200 é o intervalo de linhas que você deseja escrever.
O mais geral:
Mova o cursor para a primeira linha do grupo que você deseja escrever. Acerto
m
ea
sequencial. Isso é "marca de referência denominada 'a'".Mova o cursor para a última linha do grupo, pressione 'm' e 'b'. '
Mude para o modo de comando hit: como uma sequência
:'a,'b w filename
, pressione return.Isso funcionará no vi, nvi e vim.
Outro método, funciona no vim mais moderno:
Coloque o cursor na primeira linha do grupo de linhas que você deseja escrever. Clique
V
em "para iniciar o bloco visual de linhas".Mova o cursor para a parte inferior do grupo de linhas. O Vim será destacado com vídeo reverso em cada linha.
Escreva. Clique
:
para entrar no modo de linha de comando. Isso fornecerá um prompt na parte inferior da tela que se parece com::'<,'>
Isso significa do início do bloco visual até o fim. Digitew
e o nome do arquivo e pressione Enter.Você pode adicionar linhas simples ao final do arquivo, colocando o cursor na linha que deseja escrever e digitando:
:.w >> filename
e pressionando return.Os comandos "escrever um grupo de linhas" também funcionam com ">> filename" em vez de apenas "filename". O ">>" faz com que o vi ou o vim sejam anexados ao arquivo, em vez de apenas gravá-lo.
fonte
Para adicionar à resposta de Bernhard, você também pode selecionar uma região usando o modo visual e depois entrar
:w filename
.fonte
Se você souber os números de linha que deseja escrever, poderá fazê-lo na linha de comando:
fonte
Um pequeno truque é usar o número da linha relativa. Por exemplo:: + 0, + 99w nome do arquivo, escreva as próximas 100 linhas no nome do arquivo.
fonte