Kurz Dadurch ist es möglich , einen laufenden Befehl in einem Fenster zu einer anderen tmux Sitzung zu bewegen?
Ja, es ist ziemlich einfach, benutze den move-pane
tmux Befehl. Weitere Infos laufen
man tmux | less -I '+/mOVE-pane'
Der knifflige Teil ist nur zu wissen, wie tmux Sitzungen, Fenster und Fensterbereiche in den Befehlen zum Bearbeiten von Fensterbereichen usw. referenziert.
Wechseln Sie in den Bereich, in den Sie in die andere Sitzung wechseln möchten
Rufen Sie den Namen der Zielsitzung ab, indem Sie ausführen <prefix>s
.
Auf meinem System, das erzeugt:
(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
Also auf meinem System bin ich in den Bereich mit dem laufenden Prozess umgezogen, lief
<prefix>:move-pane -t 1:1
und der Bereich mit dem darin enthaltenen Prozess wurde in der Sitzung in das erste Fenster verschoben 1
.
Es wird als Split eingefügt. Normalerweise möchten Sie window in der anderen Sitzung als Wegwerffenster ausführen.
Hinweis: Es scheint, dass das Zielfenster vorhanden sein muss, sonst gibt der move-pane
Befehl einen Fehler aus.
Weitere Informationen zum Format für die Angabe von Sitzungen, Fenstern und Fenstern in einem tmux-Befehl finden Sie im Abschnitt COMMANDS
in man tmux
.
<prefix>m
, gehen Sie mit zum Zielfenster<prefix>w
und verschieben Sie den markierten Bereich mit dorthinjoin-pane
.Ich kann keinen Kommentar abgeben, also werde ich ihn hier platzieren: für tmux 2.1-3build1 ~ exact sollte der Befehl lauten:
<prefix>:move-pane -t session_name:window_number
- Sie benötigen einen "
-t
" vor dem Sitzungsnamen (nicht unbedingt eine Nummer), und das Fenster mit einer bestimmten Nummer muss vorhanden sein.Der Rest ist wie von the_velour_fog in seiner Antwort beschrieben .
PS Wenn Sie nur ein
session_name
ohnewindow_number
wie so eingeben:<prefix>:move-pane -t session_name:
,Dann wird Ihr Fenster in das aktuelle Fenster der Zielsitzung verschoben (und dieses Fenster wird geteilt).
PPS Wenn Sie nur Ihr Fenster (und nicht nur Ihren Bereich) verschieben möchten, finden Sie eine gute Antwort zum Verschieben von Fenstern zwischen tmux-Clients :
<prefix>:move-window [-d] [-s src-window] [-t dst-window]
(alias: movew)
wo
src-window
unddst-window
haben die formsession:window.pane
.quelle
Ich habe zwei Sitzungen, jede in ihrem eigenen iTerm. Alles, was ich tun musste, um den Bereich von einer Sitzung in eine andere zu verschieben, war
Wähle den Bereich aus
<leader>s <session>
Wo
<session>
ist eine Zahl in eckigen Klammerntmux 2.7
quelle