Copiar para a área de transferência do sistema em vez do buffer vim

19

Gostaria de definir Y e P para copiar e colar diretamente na área de transferência do sistema em vez do buffer do vim.

Eu não quero nenhum comando adicional. Apenas os normais, mas eles devem copiar e colar da área de transferência do sistema e ignorar o buffer do vim.

Como posso conseguir isso?

Estou executando o vim no Ubuntu 10.10.

Owais Lone
fonte

Respostas:

9

Você pode fazer com que o Vim use a área de transferência em vez do registro padrão para puxar, colocar, etc., adicionando este comando ao seu ~ / .vimrc:

set clipboard+=unnamed

Vejo

:help clipboard
:help 'clipboard'
garyjohn
fonte
Eu tive que usar set clipboard+=unnamedplusconforme vim.wikia.com/wiki/Accessing_the_system_clipboard . O *registro não copia para a minha área de transferência quando estou executando o vim a partir de um terminal (que é sempre).
Cledoux 03/03
For Arch (cerca de 2016-04), eu fiz:set clipboard=unnamedplus
hodgkin-Huxley
23

Você primeiro precisa ver se o vim é compilado com o suporte da área de transferência, executar vim --version | grep clipe ver se há um +ou -na frente de clipboarde xterm-clipboard.

Se ele tiver suporte para a área de transferência, copiar e colar nos registros *ou +deve usar as pranchetas do sistema / X11, para "*yycopiar uma linha e "*pcolá-la.

No Ubuntu 10.10, você pode instalar o vim-gnome para ter o suporte da área de transferência compilado.

Steabert
fonte
3
Eu tentei isso e o método acima, mas não consigo copiá-lo para a área de transferência do sistema. Mas funciona bem dentro do Vim.
Owais Lone
8

tente :

"+y   and    "+p

isso funciona para mim, no Ubuntu.

wliao
fonte
1
Este funciona para mim, não a versão *. Por que as pessoas relatam coisas diferentes?
trusktr
6

O VIM padrão no Ubuntu é vim-tiny, que não é compilado para suporte à área de transferência do sistema. Você precisa instalar o VIM completo e a GUI do Gnome para obter suporte à área de transferência:

sudo at-get install vim-full vim-gnome

Depois de instalar esses dois pacotes, você poderá usar os comandos que Akira e wliao mencionaram.

dotancohen
fonte
0

puxe para o registro da área de transferência:

 "*y

cole do registro da área de transferência:

 "*p

Para maiores informações:

 :help clipboard
akira
fonte
Isso não funciona. Funciona bem no próprio Vim, mas não parece afetar a área de transferência do sistema.
Owais Lone
Ah, não está funcionando porque minha versão é 7.2 e isso parece ser suportado apenas na 7.3.
Owais Lone
Então por que não atualizar?
harrymc
Funciona para mim exatamente como descrito, exceto usando +. "+ yy .... Por quê?
trusktr
@trusktr: veja a resposta de steabert.
Akira
0

Na minha Ubuntu 18.04 (GNOME Shell)área de transferência ativada:

sudo apt-get install vim-gnome

vim --version|grep clipboard
+clipboard         +jumplist          +persistent_undo   +virtualedit
-ebcdic            +mouseshape        +statusline        +xterm_clipboard
MD. Mohiuddin Ahmed
fonte