Como copiar o conteúdo de um arquivo (grande) vim para a área de transferência do sistema OSX para colar em outros aplicativos?

1

Eu gosto de usar o vim para editar outras coisas (não linguagens de programação). Então eu colo o conteúdo no vim e faço as alterações.

Como posso copiar todo o texto de volta para a área de transferência principal para colar?

Note que eu uso o iTerm2 e a capacidade de usar * não está lá como é com o aplicativo básico do terminal osx.

Eu não quero copiar para um registrador interno vim (como o comando y yank), eu quero copiar para a área de transferência do sistema.

Além disso, eu quero o conteúdo de todo o arquivo, incluindo o conteúdo que está fora da tela?

O alt -left-clica-arraste com o mouse não funciona.

    
por Michael Durrant 09.08.2015 / 05:14

3 respostas

0

Eu resolvi isso de uma maneira melhor do que a minha outra resposta:

Primeiro de tudo, pegue o novo vim com

brew install vim

e depois faça

vim --version

Certifique-se de que é 7.4+ Note que se você faz a versão você pode que o vi esteja em 7.3

Agora faça o vi usar esse novo vim

alias vi=vim

e adicione esse alias ao seu arquivo .bash_aliases (ou onde quer que você coloque aliases)

Por fim, adicione

set clipboard=unnamed

para o seu .vimrc (não .bashrc !)

Inicie um novo shell e ele deve funcionar.

    
por 10.08.2015 / 20:11
3

Tenho certeza de que isso é uma duplicata, mas:

gg"*yG

gg ir para a primeira linha
"*y iniciar um puxão para a área de transferência do sistema "registrar"% G mover para o final do arquivo (você verá quantas linhas foram arrancadas)

    
por 09.08.2015 / 05:22
1

Esta opção alternativa usando um comando : funcionou para mim:

:1,$!pbcopy

Isso é útil para se referir a números de linhas, etc., sem ter que navegar e realçar a área.

    
por 09.08.2015 / 20:33