Enquanto no vi como posso puxar / inserir / colar o conteúdo de outro arquivo

4
  • Estou editando o arquivo 'A' no vi.
  • Eu tenho outro arquivo 'B' cujo conteúdo eu quero 'colar' no meu local atual.
  • Diferente da cópia e colagem reais do mouse, existe um comando que eu possa usar para extrair o conteúdo de outro arquivo para o local de edição atual.
por Michael Durrant 14.01.2013 / 16:50

3 respostas

13

Digite o seguinte

:r filename_to_paste

Isto irá colar o conteúdo do arquivo após a linha em que o cursor está presente.

Se você precisar copiar / colar um intervalo menor de linhas / blocos de texto de um arquivo para outro, também poderá fazer o seguinte, assumindo que um arquivo está aberto em vim

  • Abra o arquivo nd usando :sp (divisão) ou :vsp (divisão vertical)
  • faça um comando normal yy (yank) no outro arquivo
  • faça o comando p (colar) de volta no arquivo 1 st , pois o registro (local onde o texto arrancado é armazenado) é comum a ambos os arquivos.
  • Pressione Ctrl + w duas vezes para alternar entre arquivos divididos.
por 14.01.2013 / 16:57
1

Esse :r filename é o menor para arquivos inteiros. Se você quiser apenas mais uma pequena parte, eu sempre vou para o arquivo de origem e uso "a57Y "b12Y para copiar linhas específicas para registradores (registra "a e "b nesses exemplos), que eu posso recuperar com "ap e "bp no arquivo de destino.

    
por 14.01.2013 / 17:06
0

No modo de inserção, pressione Ctrl + R e depois = . Agora, você está no modo de linha de comando e um sinal de 'igual a' é exibido.

Digite

      system('cat filename')

O conteúdo de outro arquivo 'filename' é colado na próxima linha do cursor.

Explicação:

Ctrl+R cola o conteúdo de qualquer registro. = executa / avalia a função / expressão. Portanto, cole a saída da expressão por meio de Ctrl + R e =

cat é um comando do Linux que mostra o conteúdo de um arquivo.

Edit: isso funciona no vim, não no vi.

    
por 26.05.2016 / 10:21

Tags