Copie o caminho completo do buffer atual para a área de transferência

9

Existe uma maneira rápida de copiar o caminho completo do buffer atual para a placa de grampo do sistema ou algum registro? :put=expand('%:p')use outros comandos de cópia (como dd) funcionam, mas a digitação é um pouco longa.

Thomson
fonte
Para qualquer registro: stackoverflow.com/questions/916875/…
Ciro Santilli escreveu:

Respostas:

10

Você pode atribuir à área de transferência com o +registro especial :

:let @+ = expand('%:p')

Se você quiser facilitar isso, crie um comando e precisará digitar apenas :CopyBuffer:

:command! CopyBuffer let @+ = expand('%:p')

e / ou mapeie-o para uma chave:

:nnoremap <Leader>c :let @+=expand('%:p')<CR>

A postagem " Como copiar texto para a área de transferência do sistema do Vim? " Tem muito mais informações sobre como fazer interface com a área de transferência do sistema.

:put=expand('%:p') funciona, mas a digitação é um pouco longa.

Isso não copia o caminho do buffer para a área de transferência, mas o insere no buffer ...?

Martin Tournoij
fonte
Obrigado. Eu quis dizer colocar em buffer e copiar para a área de transferência ou registros através de outro comando.
Thomson
@ Thomson Então você quer fazer 2 operações de uma só vez? Coloque o nome do arquivo no buffer e copie-o para a área de transferência do sistema operacional?
Martin Tournoij
Eu só quero copiar o nome do arquivo do buffer para a área de transferência, as 2 operações anteriores são uma solução de baixa qualidade.
24615 Thomson