O vim usual yank
e paste
funciona apenas na mesma janela (mas funciona com arquivos e comandos de fechar / salvar). É possível fazê-lo funcionar entre terminais (arrancar da janela em um terminal e colar em outro) e, em caso afirmativo, como?
Provavelmente a coisa mais simples para você tentar é colocar set clipboard=unnamed
em seu .vimrc
e reiniciar suas sessões vim.
Isso permite que você execute yank
(por exemplo yy
) em uma janela e put
(por exemplo p
) em outra janela funcionará, porque todas as sessões do vim compartilharão o mesmo buffer de seleção X.
Por outro lado, seu buffer de arranque será substituído assim que você selecionar algum texto em qualquer outra janela de qualquer aplicativo.
Por outro lado, também significa que qualquer coisa que você puxe no vim agora pode ser colada em qualquer aplicativo clicando com o botão do meio.
Se você não gostar dessa maneira, digite "+
ou "*
antes de puxar e colocar comandos, por exemplo, "+yy
puxar uma linha.
Os +
formulários interagem com a área de transferência ( "+y
é como Ctrl+ C, "+p
é como Ctrl+ V).
Os *
formulários interagem com o buffer de seleção ( "*y
é como clicar com o botão esquerdo e arrastar, "*p
é como clicar com o botão do meio).
Consulte Fazendo seleções de GUI , suporte para seleção X11 e as opções da área de transferência e mouse para obter detalhes.
set clipboard=unnamed
não funciona para mim (coloquei no .vimrc e reiniciei todas as sessões do vim). Infelizmente, nem os outros métodos. Parece que meu vim não é compilado com x-support. Estou usando o VNC para conectar-se a uma máquina Linux a partir de uma máquina Windows.:echo has('x11')
, se o suporte ao X estiver ativado, ele será impresso1
.Se você deseja copiar um arquivo inteiro para o seu arquivo de destino.
Abra seu arquivo de destino no vim.
Coloque o cursor onde quiser e digite o seguinte:
Isso copiará um arquivo inteiro para onde seu cursor está ...
fonte