Copia a linha atual para a área de transferência sob o cursor sem a seleção do mouse

5

Como posso copiar a linha atual sob o cursor no vi para a área de transferência do sistema?

Eu posso colar o conteúdo em qualquer lugar, no próprio vi ou no shell, ou no aplicativo libreoffice ... E eu estou procurando atalhos mais simples como, um faz dd para apagar a linha.

    
por Madhavan Kumar 08.07.2015 / 20:20

1 resposta

5

Se o seu Vim for compilado com o +clipboard feature (verifique se +clipboard aparece em :version ou em vim --version ), então existem dois registros especiais que designam o sistema < uma href="http://vimdoc.sourceforge.net/htmldoc/gui.html#clipboard"> área de transferência . O registrador "+ designa a área de transferência, que é usada por Ctrl + C / Ctrl + V . O registro "* designa a seleção principal, que é usada pela seleção do mouse e o clique do meio para colar.

Para fazer um apagamento, colocar o comando yank ou colocar em um registrador alternativo, prefixá-lo com aspas duplas e o caractere de registro. Por exemplo, para copiar a linha atual para a área de transferência, digite "+yy

Se o seu Vim não tiver o recurso +clipboard , você poderá usar um utilitário externo para acessar a área de transferência. Você precisará do Vim para ter acesso ao display X, é claro (a variável de ambiente DISPLAY deve ser definida). Use o :w command com um argumento começando com ! para canalizar as linhas especificadas por meio de um programa. Com xsel :

:.w !xsel -b
    
por 09.07.2015 / 02:33

Tags