0 votos

Copiar y pegar entre paneles tmux que contienen instancias de vim sobre SSH en Terminal.app

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

He estado experimentando con tmux en la máquina remota para ver si me gusta. Pero no puedo por la vida de mí averiguar cómo copiar y pegar texto entre las instancias de vim en dos paneles tmux diferentes. Preferiría poder utilizar tanto el ratón como las pulsaciones de teclas similares a las de vim ( yy , dd p ) para hacerlo.

He probado casi todas las recomendaciones que hay para intentar que esto funcione pero no he conseguido nada. Estoy ejecutando El Capitán. ¿Hay una respuesta definitiva por ahí para conseguir que esto funcione?

1voto

Yuriy Ershov Puntos 21

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

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

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

Hay un mod para tmux que añade capacidades de scripting más flexibles: http://ershov.github.io/tmux/ (Soy el autor)

Permite copiar y pegar sin utilizar archivos temporales:

  1. Copiar la selección en vim
  2. En vim, escriba :!tmux tcl pbcopy "^R%" esto pondrá el buffer de pasta de vim en el de tmux
  3. En tmux, en otro panel utilice ^B ] para pegar.

Probablemente quiera utilizar :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.

0voto

Morris Hopkins Puntos 31

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

  1. entrar en el modo de copia con Control + b[
  2. navegue hasta el principio del texto que desea seleccionar y pulse Control + Space
  3. muévete con las flechas para seleccionar la región
  4. cuando llegue al final de la región simplemente pulse Alt + w para copiar la región
  5. ahora Control + b ] pegará la selección

Las combinaciones de teclas pueden variar ligeramente

lo he sacado de aquí: https://awhan.wordpress.com/2010/06/20/copy-paste-in-tmux/

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X