Wie kann ich ein Fenster aus einer völlig anderen tmux-Sitzung aufnehmen und es als horizontale / vertikale Aufteilung an das aktuelle Fenster anhängen?
Klingt so, als würden Sie nach einem Join-Fenster suchen. Technisch gesehen möchten Sie für den zweiten Teil Ihrer Frage einen Bereich zum aktuellen Fenster hinzufügen, nicht zum vollständigen Fenster der anderen Sitzung, da dies mehrere Bereiche umfassen kann.
Hier ist ein Beispiel. Angenommen, Sie befinden sich in Sitzung 0, Fenster 4 und in Sitzung 2, in der Sie den Bereich 1 von Fenster 3 wünschen. In der tmux-Eingabeaufforderung ( ctrl+b :
standardmäßig)
join-pane -s 2:3.1
Dies verschiebt Fenster 1 von Fenster 3, Sitzung 2 (-s ist das Quellfenster und nimmt das Format Sitzung: Fenster.Panel) in Ihre aktuelle Sitzung (Sitzung 0).
Unten finden Sie die vollständigen Dokumente für den Join-Bereich, die Sie auf der tmux-Manpage finden. Der verwirrendste Teil für mich beim Lesen der Dokumente war, das Format herauszufinden, das für die Angabe von Sitzungs-, Fenster- und Fensternummern im Quellbereich erwartet wurde (siehe session:window.pane
obiges Beispiel). Sie können Ihre Sitzungen und Fenster auch benennen und diese Namen anstelle der Indexnummern verwenden.
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.
Wenn Sie versuchen, Bereiche innerhalb derselben Sitzung zu verbinden, möchten Sie instinktiv "session:" aus dem Befehl auslassen. Dies wird fehlschlagen. Es scheint, dass die Schalter -s und -t für den Join-Bereich das Argument in Form von [session]: window [.pane] anstelle von [session:] window [.pane] akzeptieren.
Das heißt, die Sitzung ist optional und das: ist obligatorisch. Das ist doof. Dies entspricht Browsern, die http://google.com:/ als Verknüpfungsversion von http://google.com:80/ benötigen und http://google.com/ o_O einen Fehler melden
Da Strg-B! Teilt den aktuellen Bereich in ein separates Fenster auf (das Gegenteil von dem, was wir tun möchten), und Strg-B @ (das direkt daneben steht!) ist standardmäßig nicht gebunden (das heißt, Sie überschreiben nichts). Ich schlage vor, diese Verknüpfung zu erstellen ...
quelle