Evitar que o vim limpe a área de transferência ao sair

6

Se eu copiar o texto para a área de transferência xterm do vim, ele será limpo quando eu sair do vim.

Como evito isso?

    
por Clark Gaebel 20.06.2011 / 03:02

5 respostas

5

Eu recentemente resolvi este problema com esta linha única em .vimrc (requer o utilitário xsel ):

autocmd VimLeave * call system("echo -n $'" . escape(getreg(), "'") . "' | xsel -ib")

Armazena o texto atual do registro no buffer da área de transferência.

    
por 14.02.2012 / 18:47
4

Eu uso xclip para fazer isso:

autocmd VimLeave * call system("xclip -o | xclip -selection c")

    
por 08.10.2015 / 12:15
1

É bem simples:

  1. Instale o Parcellite ou o glipper para o Gnome, ou o klipper para o KDE
  2. Reinicie seu sistema ou execute-o manualmente

Veja esta página para mais informações e opções.

    
por 27.11.2012 / 04:08
0

Eu não tenho uma boa resposta, e não tenho acesso no momento a um sistema rodando X para experimentar, mas este tópico é discutido no manual de referência do Vim aqui:

:help x11-selection

Você não disse como copiou o texto para a área de transferência, mas se usou o * register, talvez seja útil usar o + register.

    
por 20.06.2011 / 06:44
0

Tente selecionar enquanto mantém pressionada a tecla shift. Isso (normalmente) diz ao seu emulador de terminal para copiar diretamente o texto em vez de enviar os eventos do mouse para o Vim. A saída do Vim depois de fazer isso dessa maneira não deve destruir o conteúdo do buffer de cópia, e um clique do meio em outro aplicativo deve colar o texto selecionado.

Isso não ajudará você com o gVim. No entanto, você nota que usa o registro +, o que significa que você deve estar acessando a área de transferência, que não é destruída na saída do aplicativo que "escreveu" por último. Esse registro não é colado usando o clique do meio com o mouse. Use o controle-v (para aplicativos que suportam colar a partir da área de transferência com essa tecla de atalho) ou clique com o botão direito e selecione colar.

    
por 14.02.2012 / 19:54