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.