Persiste o conteúdo da área de transferência no vi

4

Se eu quiser copiar texto de um arquivo em vi para outro arquivo, eu tenho que destacar o texto, Control-Shift-C , sair do primeiro arquivo, abrir o segundo, e cole-o através de Control-Shift-V . Parece que deve haver uma maneira mais fácil de fazer isso - isto é, apenas comandos de teclado. Alguma sugestão?

    
por Chris Bunch 20.08.2010 / 18:48

3 respostas

6

Ao editar um arquivo, você pode usar :e filename para abrir outro arquivo e :rew para retornar ao arquivo original assim:

  1. abre o arquivo original vi foo
  2. texto puxado, por ex. yy (arranca uma linha)
  3. abre um segundo arquivo para editar ESC :e bar
  4. insira seu texto p (depois salve :w )
  5. voltar para o primeiro arquivo ESC :rew
por 20.08.2010 / 19:25
2
O

vim pode ser configurado com suporte ao X clipboard. Passe --with-x = yes para configurar se a sua distribuição não agrupa o vim com o suporte ao X. Por padrão, a área de transferência X está disponível como buffer * e a placa de corte X (seleção) está disponível como "buffer, portanto, selecionar uma região e digitar "+y irá puxar a seleção para a placa de corte X e "*y yank para a área de transferência X. Da mesma forma, "*p irá colar da área de transferência X e "+p da seleção X.

Você pode definir o buffer padrão (anônimo) no vim para ser a área de transferência do X executando set clipboard=unnamed . Então você pode apenas y e p diretamente da área de transferência do X.

    
por 20.08.2010 / 20:55
1

Claro:

  1. Abra seu arquivo: vi foo
  2. No seu arquivo, abra o segundo: ESC: open bar
  3. Retornar para o primeiro: ESC: prev
  4. Para copiar o conteúdo do arquivo: ESC: 1, $ y
  5. Para ir o próximo arquivo: ESC: n
  6. Cole: ESC p

Talvez haja um caminho mais curto?

    
por 20.08.2010 / 19:00

Tags