Réponses:
On dirait que vous cherchez une fenêtre jointe. Techniquement, pour la deuxième partie de votre question, vous souhaitez associer un volet à la fenêtre actuelle, et non la fenêtre complète de l'autre session, car cela pourrait inclure plusieurs volets.
Voici un exemple. Supposons que vous souhaitiez ouvrir le volet 1 de la fenêtre 3 dans la session 0, la fenêtre 4 et la session 2, à l'invite de tmux ( ctrl+b :
par défaut).
join-pane -s 2:3.1
Cela déplacera le volet 1 de la fenêtre 3, session 2 (-s est la fenêtre source et prend le format de session session: window.pane) vers votre session actuelle (session 0).
Vous trouverez ci-dessous la documentation complète de join-pane, que vous pouvez obtenir à partir de la page de manuel de tmux. La partie la plus déroutante pour moi de lire la documentation a été de déterminer le format attendu pour src-pane en spécifiant les numéros de session, de fenêtre et de volet ( session:window.pane
selon l'exemple ci-dessus). Vous pouvez également nommer vos sessions et vos fenêtres et utiliser ces noms au lieu des numéros d'index.
join-pane [-dhv] [-l size | -p percentage] [-s src-pane] [-t dst-pane]
(alias: joinp)
Like split-window, but instead of splitting dst-pane and
creating a new pane, split it and move src-pane into the
space. This can be used to reverse break-pane.
Si vous essayez de joindre des volets à partir de la même session, vous voudrez instinctivement omettre le "session:" de la commande. Cela va échouer. Il semble que les commutateurs -s et -t de join-pane acceptent l’argument sous la forme: [session]: window [.pane] au lieu de [session:] window [.pane].
C'est-à-dire que la session est optionnelle et que le: est obligatoire. C'est maladroit. Ce serait l'équivalent des navigateurs ayant besoin de http://google.com:/ comme version raccourcie de http://google.com:80/ et donnant une erreur à http://google.com/o_O .
Depuis ctrl-b! divise le volet actuel dans une fenêtre séparée (ce qui est opposé à ce que nous voulons faire), et ctrl-b @ (qui est juste à côté!) est non lié par défaut (ce qui signifie que vous n'écrasez rien). Je suggère de créer ce raccourci. ...
bind-key @ command-prompt -p "create pane from:" "join-pane -s ':%%'"