Przenieś panel tmux do innej sesji


Odpowiedzi:


68

Tak, to całkiem proste, użyj move-panepolecenia tmux. Aby uzyskać więcej informacji, uruchom

man tmux | less -I '+/mOVE-pane'

Trudną częścią jest po prostu wiedza, w jaki sposób tmux odwołuje się do sesji, okien i paneli w poleceniach do manipulowania panelami itp.

Krok pierwszy

Przejdź do panelu, który chcesz przejść do drugiej sesji

Krok drugi

Uzyskaj nazwę sesji docelowej, uruchamiając <prefix>s.

W moim systemie produkującym:

 (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).

Krok 3 - uruchom polecenie

<prefix>:move-pane -t <session_name>:<window number>
                      ^^^^^^^^^^^^^^ the name from above goes in here

Więc w moim systemie przeniosłem się do panelu z uruchomionym procesem

<prefix>:move-pane -t 1:1

a okienko z procesem zostało przeniesione do okna pierwszego w sesji 1.

Zostaje wstawiony jako podział, więc zwykle chcesz uruchomić okno w drugiej sesji jako okno wychodzące.

Uwaga: wydaje się, że okno docelowe musi istnieć, w przeciwnym razie move-panepolecenie spowoduje błąd.

Aby uzyskać więcej informacji na temat formatu określania sesji, okien i paneli w komendzie tmux, zobacz sekcję COMMANDSw man tmux.


12
Procedura jest prostsza: zaznacz okienko za pomocą <prefix>m, przejdź do okna docelowego za pomocą <prefix>wi przenieś zaznaczony panel za pomocą join-pane.
Dan Aloni

7

Nie mogę komentować, więc umieszczę to tutaj: dla tmux 2.1-3build1 ~ precyzyjne polecenie powinno być:

<prefix>:move-pane -t session_name:window_number

- potrzebujesz -tnazwy „ ” przed nazwą sesji (niekoniecznie liczby), a okno z danym numerem musi istnieć.

Cała reszta jest taka, jak opisano w odpowiedzi na pytanie: the_velour_fog .

PS Jeśli wpiszesz tylko „ session_namebez” window_number:

<prefix>:move-pane -t session_name:,

wtedy panel zostanie przeniesiony do bieżącego okna sesji docelowej (i to okno zostanie podzielone).

PPS Jeśli chcesz tylko przenieść okno (a nie tylko panel), to jest dobra odpowiedź na temat przenoszenia okna między klientami tmux :

<prefix>:move-window [-d] [-s src-window] [-t dst-window]

(alias: movew)

gdzie src-windowi dst-windowmieć formę session:window.pane.


-1

Mam dwie sesje, każda w swoim własnym iTerm. Wszystko, co musiałem zrobić, aby przenieść panel z jednej sesji do drugiej, to

wybierz okienko

<leader>s <session>

gdzie <session>jest liczba w nawiasach kwadratowych

tmux 2.7


To tak naprawdę nie przenosi panelu z jednej sesji do drugiej. To po prostu zmienia sesję, którą przeglądasz z bieżącego terminala. Odpowiada to rozłączeniu i połączeniu z drugą sesją. Chcę faktycznie móc przenosić panele między sesjami z otwartymi wieloma innymi panelami.
HEGX64,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.