Risposte:
Sì, è abbastanza facile, usa il move-pane
comando tmux. Per ulteriori informazioni, esegui
man tmux | less -I '+/mOVE-pane'
La parte difficile è sapere come tmux fa riferimento a sessioni, finestre e riquadri nei comandi per manipolare riquadri ecc.
Spostati nel riquadro che desideri spostare nell'altra sessione
Ottieni il nome della sessione di destinazione eseguendo <prefix>s
.
Sul mio sistema che 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).
<prefix>:move-pane -t <session_name>:<window number>
^^^^^^^^^^^^^^ the name from above goes in here
Quindi sul mio sistema mi sono spostato nel riquadro con il processo in esecuzione, eseguito
<prefix>:move-pane -t 1:1
e il riquadro con il processo in esso spostato nella finestra uno sulla sessione 1
.
Viene inserito come una divisione, quindi di solito si vorrebbe eseguire la finestra sull'altra sessione come finestra usa e getta.
Nota: sembra che la finestra di destinazione debba esistere, altrimenti il move-pane
comando genererà un errore.
Per ulteriori informazioni sul formato per specificare sessioni, finestre e riquadri all'interno di un comando tmux, consultare la sezione COMMANDS
in man tmux
.
Non posso commentare, quindi lo inserirò qui: per tmux 2.1-3build1 ~ preciso il comando dovrebbe essere:
<prefix>:move-pane -t session_name:window_number
- è necessario un " -t
" prima del nome della sessione (non necessariamente un numero) e deve esistere la finestra con un determinato numero.
Tutto il resto è come descritto da the_velour_fog nella sua risposta .
PS Se digiti solo un session_name
senza in questo window_number
modo:
<prefix>:move-pane -t session_name:
,
quindi il riquadro verrà spostato nella finestra corrente della sessione di destinazione (e questa finestra verrà divisa).
PPS Se vuoi solo spostare la tua finestra (e non solo il tuo riquadro), allora c'è una buona risposta su come spostare la finestra tra i client tmux :
<prefix>:move-window [-d] [-s src-window] [-t dst-window]
(alias: movew)
dove src-window
e dst-window
avere la forma session:window.pane
.
Ho due sessioni in corso, ognuna nel proprio iTerm. Tutto quello che dovevo fare per spostare il riquadro da una sessione all'altra era
seleziona il riquadro
<leader>s <session>
dove <session>
c'è un numero tra parentesi quadre
tmux 2.7
<prefix>m
, andare alla finestra di destinazione con<prefix>w
e spostare il riquadro contrassegnato conjoin-pane
.