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.

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'

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.


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.


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.


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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.