Como posso copiar e colar texto de um vim remoto em um vim local?

12

Estou editando um arquivo no vim em uma máquina remota via ssh e quero copiar o texto do arquivo remoto e colá-lo em uma instância do vim em execução na minha máquina local. Existe uma maneira fácil de fazer isso? Posso usar os recursos de seleção do meu emulador de terminal para selecionar o texto que está atualmente na tela, mas se minha seleção for maior do que a que pode caber na tela, não tenho sorte.

davidscolgan
fonte
Verifique se esta resposta ajuda.
Skippy le Grand Gourou

Respostas:

23

Abra o arquivo remoto na sessão local do vim:

  :e scp://user@host/relative/path/from/home.txt
nperson325681
fonte
Eu gosto. Agradável e simples.
Chev
Ótima dica! Isso pode scp://ser reconhecido em outro lugar ou é apenas o VIM?
Frozen Flame
1
@FrozenFlame: Eu acredito que é específico do aplicativo. MAS eu não ficaria surpreso se um DE grande como o KDE ou o Gnome exigisse suporte para esse esquema em todos os aplicativos.
nperson325681
1
Para caminhos absolutos::e scp://user@host//tmp/file.txt
Simon A. Eugster
9

Se você tiver permissões suficientes na máquina remota, poderá adicionar

AcceptEnv WINDOWID

para / etc / ssh / sshd_config e reinicie o sshd com

sudo /etc/init.d/ssh restart

Em seguida, na sua máquina local, adicione

ForwardX11 yes
SendEnv WINDOWID

para o seu arquivo ~ / .ssh / config

Em seguida, executando um vim com reconhecimento de X na máquina remota (por exemplo, gvim -v), você pode copiar e colar para e da área de transferência do X. Basta selecionar visualmente o texto (por exemplo, usando V) e puxá-lo para o *registro.

Editar

Esqueci de incluir a parte sobre a configuração SendEnv WINDOWIDno seu ~ / .ssh / config, então adicionei e mudei a ativação do encaminhamento do X da linha de comando ( -Xopção ssh ) para o arquivo ~ / .ssh / config ( ForwardX11 yes).

garyjohn
fonte
Eu precisava instalar o pacote xauth para que isso funcionasse no Debian.
leo
com isso eu posso copiar localmente e colar remotamente. Existe uma maneira de fazer também o contrário? obrigado!
Paschalis