Réponses:
Oui, c'est assez simple, utilisez la move-pane
commande tmux. Pour plus d'informations, exécutez
man tmux | less -I '+/mOVE-pane'
La partie délicate consiste simplement à savoir comment tmux référence les sessions, les fenêtres et les volets dans les commandes pour manipuler les volets, etc.
Accédez au volet que vous souhaitez déplacer vers l'autre session
Obtenez le nom de la session cible en exécutant <prefix>s
.
Sur mon système qui produit:
(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
Donc, sur mon système, je me suis déplacé dans le volet avec le processus en cours, j'ai couru
<prefix>:move-pane -t 1:1
et le volet contenant le processus a été déplacé vers la fenêtre 1 de la session 1
.
Il est inséré sous forme de fractionnement, vous souhaiterez donc généralement exécuter la fenêtre de l'autre session en tant que fenêtre jetable.
Remarque: il semble que la fenêtre cible doive exister, sinon la move-pane
commande émettra une erreur.
Pour plus d'informations sur le format de spécification des sessions, des fenêtres et des volets dans une commande tmux, consultez la section COMMANDS
dans man tmux
.
Je ne peux pas commenter, donc je vais le placer ici: pour tmux 2.1-3build1 ~ précis, la commande devrait être:
<prefix>:move-pane -t session_name:window_number
- vous avez besoin d'un " -t
" avant le nom de la session (pas nécessairement un nombre), et la fenêtre avec un numéro donné doit exister.
Tout le reste est comme décrit par the_velour_fog dans sa réponse .
PS Si vous tapez uniquement un session_name
sans window_number
comme ceci:
<prefix>:move-pane -t session_name:
,
votre volet sera alors déplacé dans la fenêtre actuelle de la session de destination (et cette fenêtre sera divisée).
PPS Si vous voulez juste déplacer votre fenêtre (et pas seulement votre volet), alors il y a une bonne réponse sur la façon de déplacer la fenêtre entre les clients tmux :
<prefix>:move-window [-d] [-s src-window] [-t dst-window]
(alias: movew)
où src-window
et dst-window
avoir le formulaire session:window.pane
.
J'ai deux sessions en cours, chacune dans leur propre iTerm. Tout ce que je devais faire pour déplacer le volet d'une session à une autre était
sélectionnez le volet
<leader>s <session>
où <session>
est un nombre entre crochets
tmux 2.7
<prefix>m
, accédez à la fenêtre de destination avec<prefix>w
et déplacez-le avecjoin-pane
.