Copiar / pegar en vim sin X

8

En vim, "+ppega desde el portapapeles del sistema. Sin embargo, cuando se trabaja de forma remota a través de SSH en un cuadro sin GUI, esto no está disponible.

¿Es posible implementar copiar / pegar en este entorno?

Simplemente copiar texto desde el terminal no es suficiente, porque también copiará cosas que están más allá del alcance del archivo (por ejemplo, si usa tmux, copiará la pantalla completa porque es todo texto sin formato).

o_o_o--
fuente

Respuestas:

1

Una solución alternativa es usar archivos scratch (de acceso remoto) para transferir el texto:

En caso de que pueda volver a SSH a su propio sistema, puede simplemente :split scp://hostname/path/to/filecolocar el texto extraído allí y :write.

Si solo puede usar SSH desde su sistema a la caja del servidor, abra Vim localmente y acceda al archivo de memoria virtual desde el servidor: vim scp://server/path/to/file(o simplemente use scpdirectamente).

Todo esto está habilitado por el complemento netrw que se incluye con Vim.

Ingo Karkat
fuente
0

En MacOS, cuando SSH de la máquina A a la máquina B y usando vim en la máquina B, agrego esto a mi .vimrc en la máquina B:

nmap yr :call system("ssh $machineA_IP pbcopy", @*)<CR>

De esa manera, en modo normal, el contenido de * register si vim @ machine_B se copia en el portapapeles local de la máquina A, suponiendo que haya configurado Vim correctamente con + portapapeles y * register

Linh
fuente