Jak zamienia się dwie szyby w Tmux?

207

Mam dwie szyby w układzie poziomym. Chciałbym, aby okienko znajdowało się po prawej stronie, a znajdowało się po lewej stronie okna. Nie mówię o przeniesieniu fokusu ( Ctrl+ B o). Jak to osiągnąć?

„lewy panel” <--> „prawy panel”

oddRaven
źródło

Odpowiedzi:

303

swap-panePolecenie może zrobić dla Ciebie. {I }klawisze są zobowiązane do swap-pane -Ui swap-pane -Dw konfiguracji domyślnej.

Tak więc, aby wprowadzić pożądaną zmianę, prawdopodobnie możesz użyć, Prefix {gdy jesteś w prawym okienku (lub Prefix }jeśli jesteś w lewym okienku).

-UI -Dznajdują się „w górę” i „w dół” w kolejności indeksów okienko ( „w górę” jest taki sam kierunek, w którym Prefix oporusza się szyb). Wskaźniki panelu można wyświetlić za pomocą display-panes( Prefix qdomyślnie).

Chris Johnsen
źródło
8
+1 za sprecyzowanie Prefixzamiast zakładania, że ​​wszyscy będą go używaćCtrl-b
Aaron Wallentine
1
Zgoda. Jest jeszcze gorzej, gdy ludzie zakładają, że używasz Ctrl-a, ponieważ są to ludzie, którzy wiedzą, że prefiks można zmienić w zależności od użytkownika.
byxor
Zobacz odpowiedź @ kay, aby uzyskać bardziej ogólne zastosowanie swap-pane(i odpowiedź na pytanie w tytule).
Jonathan
50

Możesz uderzać Ctrl bi trzymać wciśnięty Ctrlpodczas uderzenia o. Spowoduje to obrócenie wszystkich istniejących paneli, więc w twoim przypadku zamienisz tylko dwie istniejące szyby.

Ctrl b+ Alt oobraca w drugą stronę (przydatne, gdy masz więcej niż dwa panele).

joelostblom
źródło
Tak, jesteśmy na tej samej stronie. Ale po pierwszym „o”, które powoduje obrót panelu, następne „o” jest wysyłane do podstawowej powłoki i przetwarzane przez dowolną dostępną aplikację. Mam na myśli coś podejrzanego z moją mapą, a może coś zależnego od wersji tmux. Dziękuję za odpowiedź.
Stabledog
1
@Stabledog Obecnie korzystam z tmux 2.3, ale myślę, że to zawsze działało dla mnie ... Naprawdę nie mogę wymyślić, co może być problemem. Brzmi dziwnie, że Ctrl+ojest wysyłany do powłoki zamiast do tmux, zwłaszcza jeśli nie ma to miejsca przy wielokrotnym naciskaniu Ctrl+b(lub innych poleceń tmux?).
joelostblom
Właściwie myślę, że dzieje się tak w przypadku wszystkich poleceń. Przynajmniej nie znam żadnego przypadku, w którym mogę zrobić Ctrl + x, nacisnąć klawisz związany z jakąś operacją i pozostać w trybie „klawiatury tmux”. Po prostu założyłem, że to z założenia.
Stabledog
1
@Stabledog Właściwie właśnie zauważyłem, że jedynym innym poleceniem, w którym mogę nadal przytrzymywać kontrolę i powtarzać pozostałe klawisze Ctrl+b;, jest obracanie kursora między dwoma oknami.
joelostblom
24

Najdokładniejsza kontrola, jaką możesz mieć, to swap-pane bezpośrednie użycie polecenia . Nie jest to takie trudne:

  1. ctrl-b qpokazuje „ID” dla każdego panelu w bieżącym oknie - pamiętaj o dwóch oknach, które chcesz zamienić. Powiedzmy, że są 3 i 5.
  2. ctrl-b :aby aktywować linię poleceń tmux. Następnie wydaj polecenie swap-pane -s 3 -t 5.

Pamiętaj, że masz automatyczne uzupełnianie podczas pisania poleceń. Możesz także wyszukać składnię polecenia bezpośrednio ze strony tmux man . W ten sposób uczę się składni swap-pane.

Kay
źródło