Como posso selecionar todas as cópias do vim e colar em outro programa, por exemplo, cliente de email?

Como posso selecionar todas as cópias do vim e colar em outro programa, por exemplo, cliente de email?

Como posso fazer o seguinte?

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

Responder1

Isso requer que o vim tenha integração com a área de transferência do X11. Você pode verificar isso fazendo vim --versione procurando +xterm_clipboard( +clipboardnão é, é para usar a GUI, que pode ser o que você procura, a pergunta não especifica GUI ou terminal).

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

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

O X11 possui 2 "pranchetas". Há o buffer de seleção e depois a área de transferência real. O buffer de seleção é a coisa destaque/middle_click. A área de transferência é o CTRL+C/CTRL+V normal.
Para copiar a linha atual no buffer de seleção, faça "*yy. (sim, é shift+quote shift+8 yy)
Para copiar para a área de transferência, faça "+yy.
(você pode usar outros especificadores de seleção, como "+yGou "+yno modo visual)

Se você quiser tornar um deles o padrão, então você pode simplesmente fazer yy, sem o bit "+/ "*, você pode adicionar um dos seguintes ao seu ~/.vimrc:

set clipboard=unnamed

ou

set clipboard=unnamedplus

Você não especificou se estava acessando a máquina remotamente, mas se sim, você ainda pode fazer isso, mas precisará do encaminhamento X11 ativado e funcionando em SSH. Vou avisá-lo, no entanto, que isso pode fazer com que o vim demore vários segundos para inicializar.

informação relacionada