Como copio a saída do comando no vim?

25

Por exemplo, se eu digitar ' :pwd ' para obter o diretório de trabalho atual, posso selecionar o texto no gvim, mas não consigo descobrir como copiá-lo para a área de transferência. Se eu tentar o mesmo no console vim, não posso nem mesmo selecioná-lo com o mouse. Eu gostaria que isso funcionasse com todos os comandos vim, como set guifont para copiar a saída guifont=Consolas:h10:cANSI .

    
por Steven 25.07.2010 / 04:29

4 respostas

34

Você está procurando por isso,

:redir @* | set guifont | redir END
O comando

: redir redireciona a saída de um comando para um registrador (@ *). O registrador @ * refere-se à área de transferência.

Para mais informações sobre isso,

:help :redir
    
por 02.08.2010 / 21:46
8

Teste ' :r !pwd ' para obter o diretório de trabalho atual diretamente no arquivo aberto do GVIM.
Você pode copiá-lo para a área de transferência como qualquer outro conteúdo de arquivo de texto aberto.

    
por 25.07.2010 / 05:10
4

Para este exemplo em particular, você poderia fazer (observe o "!", que faz com que ele passe pelo shell):

:!pwd | xclip

ou

:!pwd | xclip -selection secondary

(dependendo de qual X-seleção você quer).

Você pode ter que instalar o xclip primeiro

sudo apt-get install xclip

(ou equivalente)

    
por 26.07.2010 / 14:15
3

Se você estiver executando o vim em um xterm, segurar a tecla Shift enquanto seleciona o texto copiará o texto para o equivalente X da área de transferência.

    
por 25.07.2010 / 08:43

Tags