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

10

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 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 cabe na tela, estou sem sorte.

    
por davidscolgan 22.03.2012 / 17:12

2 respostas

22

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

  :e scp://user@host/relative/path/from/home.txt
    
por 22.03.2012 / 17:16
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 X-aware vim na máquina remota (por exemplo, gvim -v ), você pode copiar e colar de e para a área de transferência do X. Basta selecionar visualmente o texto (por exemplo, usando V ) e colocá-lo no registro * .

Editar

Eu esqueci de incluir a parte sobre a configuração de SendEnv WINDOWID em seu ~ / .ssh / config, então eu adicionei isso e movi a habilitação do X forwarding da linha de comando (ssh -X option) para o ~ /. arquivo ssh / config ( ForwardX11 yes ).

    
por 22.03.2012 / 18:35