vim e área de transferência do sistema

8

Eu posso catar um arquivo, copiar e colar texto com o botão do meio ou inserir o deslocamento.

Como posso copiar texto no vim e colá-lo na área de transferência do sistema?

    
por grantbow 24.04.2015 / 07:52

3 respostas

10

Você precisa ter o Vim com os recursos clipboard e xtermclipboard compilados. No Ubuntu, eles estão disponíveis apenas com os pacotes GUI vim ( vim-gnome , vim-gtk , vim-athena , etc.).

Depois de instalar um desses, você pode copiar (e colar) os registradores da área de transferência ( * e + ). Deste post muito informativo sobre Vi e Vim :

  

Para sistemas baseados em X11 (ou seja, Linux e mais outros UNIX   sistemas) existem 2 pranchetas, que são independentes umas das outras:

     
  • PRIMÁRIO - Este é o copy-on-select e pode ser colado com o botão do meio do mouse.
  •   
  • CLIPBOARD - Este é copiado com (geralmente) ^C e colado com ^V (É como o MS Windows).
  •   

O Vim tem dois registros especiais correspondentes a essas pranchetas:

     
  • * usa PRIMARY; mnemônico: s tar é s eleito (para cópia-em- s eleger)
  •   
  • + usa CLIPBOARD; mnemônico: CTRL + C (para o keybind comum)
  •   

Para copiar para um registrador, você precede o comando de cópia ( y ) com " e o nome do registrador ( * , por exemplo). "*y , depois clique com o botão do meio para colar ou "+y e Shift Inserir para colar.

    
por muru 24.04.2015 / 08:02
2

Uma solução bastante interessante vem da pergunta . Instale o xclip, em seguida canalize a saída de um comando para xclip ( cat file | xclip -selection clipboard por exemplo) e cole-o em qualquer lugar (se estiver no terminal - use Ctrl Deslocamento V ). Agora, você pode realmente encurtar o comando para xclip -sel clip , o que não é exatamente aparente a partir da leitura de uma página man ou exemplos.

    
por Sergiy Kolodyazhnyy 24.04.2015 / 08:06
1

Eu tive problemas porque meu vim não estava suportando clipboard :

vim --version | grep clip
-clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      -mouseshape      +startuptime     -xterm_clipboard

Eu instalei o vim-gnome (que suporta a área de transferência) e verifiquei novamente:

vim --version | grep clipboard
+clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      +mouseshape      +startuptime     +xterm_clipboard

Agora posso copiar e colar usando "+ ye" + p respectivamente.

    
por Ashutosh Tripathy 09.06.2018 / 13:45

Tags