Copie o texto selecionado vim para a área de transferência do sistema

3

Meu vim não é compilado com o recurso clipboard . Então, eu uso xsel como sugerido por Gilles para copiar / colar o conteúdo.

Eu uso :.w !xsel -b para selecionar a linha atual e, :w !xsel -b para selecionar o documento inteiro.

Mas, às vezes, preciso mover a seleção de várias linhas usando V para a área de transferência. Como posso fazer usando xsel ?

Nota: eu tentei Ctrl-Shift-c , não funcionou. De qualquer forma, eu não sou um grande fã do combo Ctrl, pois quebra meus dedos.

    
por Madhavan Kumar 29.07.2015 / 15:54

3 respostas

4

Você ainda pode fazer basicamente a mesma coisa no modo visual. Depois de selecionar a área, clique em 1 :

:'>,'> !tee >(xsel -b)

Você precisa canalizar para tee para que o conteúdo da sua área selecionada não seja limpo.

1 Adaptado de aqui .

    
por 29.07.2015 / 17:02
2

Acontece que isso é irritantemente fácil: use o comando "v" para destacar a área de texto que você deseja. Imediatamente pressione o botão "!" comando, seguido pelo seu comando.

Então a sequência é "v" "!"

    
por 29.07.2015 / 17:15
1

Digite :w !xsel -b para copiar a seleção visual. Quando você pressiona : enquanto a seleção visual está ativa, isso insere um intervalo que designa a seleção visual, então você acabará executando :'<,'>w !xsel -b .

Isto copia todas as linhas que são parcialmente ou completamente selecionadas, isto é, a linha onde a seleção começa e a linha onde a seleção termina são totalmente incluídas, mesmo as partes que não foram selecionadas. Eu não sei como copiar a seleção exatamente.

Naturalmente, se o Vim for compilado com a opção +clipboard , use apenas "+y .

Eu procurei uma maneira de fazer "+ use xsel quando o Vim não tem suporte para área de transferência , mas eu não obtive uma resposta totalmente funcional, isso parece ser muito difícil.

    
por 03.08.2015 / 02:31

Tags