Se algumas teclas extras não incomodarem você, não vejo problema.
O registro de copiar e colar da GNU Screen ( . ) pode ser lido de / escrito para o arquivo fora de uma caixa: <C-a>< e <C-a>> são atalhos padrão, /tmp/screen-exchange é um arquivo padrão, mas eu prefiro um usuário específico, em vez de todo o sistema, então eu configuraria algo assim em .screenrc :
setenv BUFFERFILE "$HOME/.buffer"
bufferfile "$BUFFERFILE"
O Vim não possui tais comandos prontos, mas não há dificuldade em criá-los e mapeá-los para o que você quiser, e. g. <leader>< e <leader>> respectivamente:
if exists("$BUFFERFILE")
nnoremap <silent><leader>< :let @" = join(readfile($BUFFERFILE), "\n")<CR>
nnoremap <silent><leader>> :call writefile( split(@", "\n"), $BUFFERFILE )<CR>
endif
Se eles o incomodarem, no entanto, torna-se um pouco mais complicado - tanto quanto entendido, você tem que:
- remapear todos os possíveis yank, cut (já que não há nenhum evento autocmd ao alterar determinado registro) e colar (já que é o único gatilho viável) atalhos no Vim - nada complexo mas tedioso - espero que você saiba como fazer isso ;
-
remapear dois atalhos no GNU Screen: enquanto colar um é bem óbvio:
bind ] eval readbuf "paste ."puxar um -
<Return>ou<Space>em um modo de cópia especial apresenta uma dificuldade para mim.