¿Cómo puedo copiar y pegar texto de un vim remoto a un vim local?


12

Estoy editando un archivo en vim en una máquina remota a través de ssh y quiero copiar el texto del archivo remoto y pegarlo en una instancia de vim que se ejecute en mi máquina local. ¿Hay una forma fácil de hacer esto? Puedo usar las funciones de selección de mi emulador de terminal para seleccionar el texto que está actualmente en la pantalla, pero si mi selección es más grande de lo que cabe en la pantalla, no tengo suerte.


Respuestas:


23

Abra el archivo remoto en la sesión vim local:

  :e scp://user@host/relative/path/from/home.txt

Me gusta. Agradable y simple
Chev

Gran consejo! ¿Se scp://puede reconocer esto en otro lugar o es solo VIM?
Frozen Flame

1
@FrozenFlame: creo que es una aplicación específica. PERO no me sorprendería si un DE grande como KDE o Gnome exigiera soporte para este esquema en cada aplicación.
nperson325681

1
Para caminos absolutos::e scp://user@host//tmp/file.txt
Simon A. Eugster

9

Si tiene permisos suficientes en la máquina remota, puede agregar

AcceptEnv WINDOWID

a / etc / ssh / sshd_config y reinicie sshd con

sudo /etc/init.d/ssh restart

Luego en su máquina local agregue

ForwardX11 yes
SendEnv WINDOWID

a su archivo ~ / .ssh / config

Luego, al ejecutar un vim X-aware en la máquina remota (por ejemplo, gvim -v), puede copiar y pegar desde y hacia el portapapeles X. Simplemente seleccione visualmente el texto (p. Ej., Usando V) y tírelo al *registro.

Editar

Olvidé incluir la parte sobre la configuración SendEnv WINDOWIDen su ~ / .ssh / config, así que agregué eso y moví la habilitación del reenvío de X desde la línea de comando ( -Xopción ssh ) al archivo ~ / .ssh / config ( ForwardX11 yes).


Necesitaba instalar el paquete xauth para que esto funcione en Debian.
leo

con esto puedo copiar localmente y pegar remotamente. ¿Hay alguna manera de hacerlo también al revés? ¡Gracias!
Paschalis
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.