Mover un panel tmux a otra sesión


43

A falta de hacer esto , ¿es posible mover un comando en ejecución en un panel a otra sesión de tmux?

Respuestas:


68

Sí, es bastante fácil, usa el move-panecomando tmux. Para más información corre

man tmux | less -I '+/mOVE-pane'

La parte difícil es saber cómo tmux hace referencia a sesiones, ventanas y paneles en los comandos para manipular paneles, etc.

Paso uno

Muévase al panel que desea mover a la otra sesión

Segundo paso

Obtenga el nombre de la sesión de destino ejecutando <prefix>s.

En mi sistema que produce:

 (0) + 0: 8 windows (attached)  
 (1) + 1: 1 windows 
       ^
       |
    This is the session name. It could be different 
    on your system and it could be a word (not just a number).

Paso 3 - ejecuta el comando

<prefix>:move-pane -t <session_name>:<window number>
                      ^^^^^^^^^^^^^^ the name from above goes in here

Entonces, en mi sistema, me mudé al panel con el proceso en ejecución, ejecuté

<prefix>:move-pane -t 1:1

y el panel con el proceso se movió a la ventana uno de la sesión 1.

Se inserta como una división, por lo que generalmente querrá ejecutar la ventana en la otra sesión como una ventana desechable.

Nota: parece que la ventana de destino debe existir, de lo contrario, el move-panecomando emitirá un error.

Para obtener más información sobre el formato para especificar sesiones, ventanas y paneles dentro de un comando tmux, consulte la sección COMMANDSen man tmux.


12
Hay un procedimiento más simple: marque el panel con <prefix>m, vaya a la ventana de destino con <prefix>wy mueva el panel marcado con allí join-pane.
Dan Aloni el

7

No puedo comentar, así que lo colocaré aquí: para tmux 2.1-3build1 ~ preciso, el comando debe ser:

<prefix>:move-pane -t session_name:window_number

- necesita un " -t" antes del nombre de la sesión (no necesariamente un número), y la ventana con un número dado debe existir.

Todo lo demás es como lo describe the_velour_fog en su respuesta .

PD: si escribe solo un session_namesin window_numberasí:

<prefix>:move-pane -t session_name:,

entonces su panel se moverá a la ventana actual de la sesión de destino (y esta ventana se dividirá).

PPS Si solo desea mover su ventana (y no solo su panel), entonces hay una buena respuesta sobre cómo mover la ventana entre clientes tmux :

<prefix>:move-window [-d] [-s src-window] [-t dst-window]

(alias: movew)

donde src-windowy dst-windowtener la forma session:window.pane.


-1

Tengo dos sesiones en ejecución, cada una en su propio iTerm. Todo lo que necesitaba hacer para mover el panel de una sesión a otra era

seleccione el panel

<leader>s <session>

donde <session>hay un número entre corchetes

tmux 2.7


Eso en realidad no mueve el panel de una sesión a otra. Eso solo cambia la sesión que estás viendo desde la terminal actual. Es equivalente a desconectarse y conectarse a la otra sesión. Quiero poder mover paneles entre sesiones con varios paneles abiertos.
HEGX64
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.