Você tem que usar
:let @+ .= your_expression
veja stackoverflow . O problema, como você entendeu, é que você não pode capitalizar o caractere + .
Por exemplo, para adicionar uma linha em seu buffer à área de transferência, coloque o cursor na linha e escolha-o com yy . Em seguida, digite :let @+ .= @0 para executar ( : ) o comando let para anexar ( .= ) register ( @ ) 0, que sempre mantém o último yank, para registrar + que é uma representação do prancheta.
Por exemplo, para adicionar a string "abc" à área de transferência, digite :let @+ .= 'abc' .
(Para alterar a seleção X11 em vez do registro da área de transferência + use register * ).
O vim tem um conjunto de comandos enorme . Se você pretende adotá-lo como seu editor favorito, vale a pena colocar algum esforço em conhecer, pelo menos superficialmente, alguns deles. A maioria dos usuários do vim provavelmente usa apenas cerca de uma dúzia de comandos e não está interessada em seu verdadeiro potencial. É uma pena, pois essas ferramentas podem reduzir significativamente sua carga de trabalho.
Você pode gostar Aprenda Vimscript the Hard Way . A ajuda interna do vim também pode ser visualizada na web em sourceforge , com esta página em A linguagem de script do Vim .