Como eu posso selecionar todas as cópias do vim e colá-las em outro programa? cliente de email?

1

Como posso fazer o seguinte?

Copie todo o texto do vim e cole-o em um programa externo, por exemplo, mail Outlook? Eu tentei +y e gg*yG , mas a pasta não funciona.

    
por Jim 01.10.2013 / 22:42

1 resposta

2

Isso requer que o vim tenha integração com a área de transferência do X11. Você pode verificar isso fazendo vim --version e procurando +xterm_clipboard ( +clipboard não é, isso é usando a GUI, o que pode realmente ser o que você está depois, a questão não especifica GUI ou terminal).

Se você não tem +xterm_clipboard , você precisará obter uma versão do vim que tenha (ou recompilar você mesmo).

Se você tem isso, então incrível. Vamos continuar.

O X11 tem 2 "pranchetas". Há o buffer de seleção e, em seguida, a área de transferência real. O buffer de seleção é o item highlight / middle_click. A área de transferência é o normal CTRL + C / CTRL + V.
Para copiar a linha atual no buffer de seleção, faça "*yy . (sim, isso é shift + mudança de cotação + 8 y y)
Para copiar para a área de transferência, faça "+yy .
(você pode usar outros especificadores de seleção, como "+yG , ou "+y no modo visual)

Se você quiser fazer um destes o padrão, assim você só pode fazer yy , sem a "+ / "* bit, você pode adicionar uma das seguintes opções para a sua ~/.vimrc :

set clipboard=unnamed

ou

set clipboard=unnamedplus

Você não especificou se estava acessando a máquina remotamente, mas se ainda assim você ainda pode fazer isso, mas precisará redirecionar o X11 e trabalhar em SSH. No entanto, avisarei que isso pode fazer com que o vim leve vários segundos para ser iniciado.

    
por 02.10.2013 / 01:38