Przenieś panel do nowego okna w tmux


155

Wiem, że w Tmux można dołączyć okno jako okienko, ale czy można przenieść okienko do własnego okna (zakładki)? Próbowałem przeszukać stronę podręcznika, ale nie mogłem go znaleźć. Wydaje mi się, że można to zrobić za pomocą skryptu powłoki, ale czy jest jakiś inny, bardziej elegancki sposób?

Odpowiedzi:


166

Odpowiednie polecenia tmux

  • join-pane -s
  • join-pane -t
  • break-pane

Wiązania

Możesz dodać następujące powiązania do ~/.tmux.conf:

## Join windows: <prefix> s, <prefix> j
bind-key j command-prompt -p "join pane from:"  "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:"  "join-pane -t '%%'"

Powyższe umożliwia przenoszenie paneli między istniejącymi oknami.

Aby rozbić panel do nowego okna, użyj break-pane (który można również powiązać) .

Zastosowanie alternatywne

Wszystkie trzy komendy mogą być używane z skłonić tmux za jak: <prefix>+:wtedy break-pane
Albo poprosi powłoki (wewnątrz tmux) z: tmux break-pane.


11
Warto zauważyć, że celujesz w okienko przy użyciu następującego formatu: „mysession: mywindow.mypane” (jeśli w innej sesji) i „mywindow.mypane” (jeśli w tej samej sesji). Możesz także użyć „mysession: progname”, jeśli program działający w tym panelu jest unikalny.
Ben Davis

15
bind-key !z drugiej odpowiedzi to wszystko, czego potrzebuję.
guaka,

136

Z listy poleceń możesz zobaczyć, że nazywa się to break-panel, a polecenie jest po prostu

klucz dostępu!

gdzie kluczem powiązania jest domyślnie Ctrl+B


5
czy jest jakiś sposób na przymocowanie tylnej „pękniętej” szyby?
nazikus

3
@nazikus możesz użyć join-pane. Jeśli nie widzisz żadnych powiązań w bind-key ?(nie widziałem), możesz przywołać wiersz polecenia bind-key :i wykonać join-pane -t <destination pane index>.
Austin Adams,

4
Nie zapomnij o dwukropku! Jest join-pane -t <optional session name>:<destination pane index>np.join-pane -t :0
Walf

11

W najnowszej wersji tmux, zainstalowanej z homebrew na OSx - 1.9a - domyślne wiązanie klawiszy implementuje panel łączenia z menu

bind-key          S choose-window "join-pane -v -s "%%""
bind-key          V choose-window "join-pane -h -s "%%""
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.