Copiando y pegando entre los paneles tmux que contienen instancias de vim sobre SSH en Terminal.app

0

Uso vim para desarrollar código Perl en un cuadro remoto de Linux que ejecuta Debian Jesse. La máquina es una máquina virtual que se ejecuta en VirtualBox. Utilizo ssh y luego emito un comando vim <file> para comenzar a editar el archivo.

He estado experimentando con tmux en la máquina remota para ver cómo me gusta. Pero no puedo, por mi vida, descubrir cómo copiar y pegar texto entre instancias vim en dos paneles tmux diferentes. Preferiría poder usar el mouse y las pulsaciones similares a vim ( yy , dd p ) para hacer esto.

He intentado casi todas las recomendaciones para intentar que esto funcione, pero no he llegado a ninguna parte. Estoy corriendo el Capitán. ¿Hay una respuesta definitiva para que esto funcione?

    
pregunta StevieD 21.04.2016 - 15:58

2 respuestas

1

Una mejor manera de hacerlo es guardar la selección en un archivo temporal y usar el comando tmux load-buffer para cargarlo en el búfer de pegado, y luego C-b ] para pegar.

De lo contrario, es posible que tenga problemas con las líneas de texto largas que no caben en la pantalla. Además, es posible que las pestañas no se conserven y que las líneas largas se dividan.

Tengo que mencionar otra forma (más fácil) de hacerlo sin ningún archivo adicional.

Hay un mod para tmux que agrega capacidades de scripting más flexibles: enlace (soy el autor)

Le permite copiar y pegar sin usar ningún archivo temporal:

  1. Copiar selección en vim
  2. En vim, escriba :!tmux tcl pbcopy "^R%" esto colocará el búfer de pegado de vim en tmux's one
  3. En tmux, en otro panel use ^B ] para pegar.

Probablemente quieras usar :set paste en vim.

Y si lo haces con frecuencia, puedes automatizar el paso 2 y vincularlo a una pulsación de tecla en vim.

    
respondido por el Yuriy Ershov 04.05.2016 - 17:39
0

Me he encontrado con el mismo problema y mi solución es usar tmux en lugar de vim en estos casos.

1) ingrese al modo de copia usando Control + b [ 2) navega hasta el principio del texto, desea seleccionar y presionar Control + Espacio 3) moverse usando las teclas de flecha para seleccionar la región 4) cuando llegue al final de la región, simplemente presione Alt + w para copiar la región 5) ahora Control + b] pegará la selección

Sus enlaces de teclas pueden variar ligeramente

obtuve esto de aquí: enlace

    
respondido por el Morris Hopkins 21.04.2016 - 16:59

Lea otras preguntas en las etiquetas