Dostosowywanie rozmiarów okien podzielonych ekranu w tmux

53

Chciałbym zmienić rozmiar paneli, aby móc rozwinąć / kompresować rozmiary okien (góra / dół / lewo / prawo itp.)

Jakiś sposób, aby to zrobić?

Prashant
źródło

Odpowiedzi:

68

Zakładając, że kluczem prefiksu jest nadal domyślny Ctrl-B
^ B: resize-p -D 2
^ B: resize-p -U 2
^ B: resize-p -L 2
^ B: resize-p -R 2
Liczby na końcu są opcjonalne, domyślnie 1. Wartość -U jest również wartością domyślną i jest niepotrzebna.

Jeśli kiedykolwiek o tym zapomnisz, ^ B? pokaże je na klawiszach C-Up i C-Down oraz C-Left i C-Right na końcu klawiszy (z domyślnymi powiązaniami klawiszy).

Możesz także spróbować nacisnąć Ctrl + B, a następnie Ctrl + klawisze strzałek.
Należy jednak pamiętać, że klawisze Ctrl mogą być problematyczne na niektórych terminalach. Możesz więc spróbować rozwiązać ograniczenia terminali lub utworzyć nowe powiązania klawiszy skrótu, albo po prostu nie używać skrótów i używać dłuższych poleceń pokazanych powyżej.

TOOGAM
źródło
43
Na moim macbook domyślnie mogę używać Ctrl+B, a następnie Esc + (arrow key).
James M. Lay
3
@ JamesM.Lay O tak, to też działa, ale jak mam dodać 2 lub więcej rozmiarów? ponieważ działam esc + (arrow)tylko raz, potem muszę użyć, Ctrl+Ba następnie ponownie złożyć wniosek esc + (arrow).
Adiyat Mubarak,
5
@AdiyatMubarak Nie będziesz musiał użyć Ctrl+Bponownie, jeśli naciśniesz Esc + (arrow)szybko. Zgadzam się, że nie jest to zbyt wygodne, ale działa.
th3an0maly
2
@ JamesM.Lay alternatywnie Ctrl+Bi M-(arrow)działa dla mnie. Zazwyczaj alti Escobaj wysyłająMeta
oLas
Ctrl+Ba następnie optionnaciskać przyciskając klawisz strzałki, jednak wiele razy potrzeba mi pracy.
Yuxuan Chen
40

Jedną z opcji zmiany rozmiaru paneli jest użycie myszy. Aby to zrobić, dodaj następujące wiersze do .tmux.conf:

set -g mode-mouse on
set -g mouse-resize-pane on

Jeśli korzystasz z komputera Mac i powyższe nie działa, użyj tego zamiast tego ( źródło ):

set-option -g mouse on

Po włączeniu tego trybu wystarczy kliknąć i przeciągnąć podziałki okien, aby zmienić ich rozmiar.

Ben
źródło
3
set -g mouse on #for newer versions
Uwielbia prawdopodobieństwo
Moje życie właśnie się zmieniło! Działa to na mojej instancji Ubuntu na WSL (Windows Subsystem for Linux) ... och, ale teraz nie mogę już wklejać prawym przyciskiem myszy. Linux on Window jest nadal niezręczny.
flickerfly
21

Właśnie dodałem następujące wiersze do mojego pliku tmux.conf

bind j resize-pane -D 10
bind k resize-pane -U 10
bind l resize-pane -L 10
bind h resize-pane -R 10

a teraz mogę użyć Ctrl-a (mój klucz prefiksu) z [h | j | k | l], aby zmienić rozmiar paneli

Prashant
źródło
1
A teraz nie mogę używać klawiszy h | j | k | l
subhojit777 12.04.16
1
@ subhojit777 .. Nadal powinieneś móc używać klawiszy [h | j | k | l]. Pamiętaj, aby zmienić rozmiar paneli tmux, musisz jeszcze dodać klucz prefiksu (domyślnie Ctrl-b .. Ctral-a był moim nadpisaniem) przed naciśnięciem tych klawiszy. Ponadto zawsze masz możliwość zmiany powiązania na dowolne. Chodziło o to, aby ludzie wiedzieli o zapisywaniu go w pliku tmux.conf
Prashant,
Powinieneś zamienić lz, haby mieć wiązania VI.
Hendrik,
11

Zakładając, że kluczem prefiksu jest Ctrl-B (Cmd-B na Macu):

  1. Naciśnij Ctrl-B i puść
  2. Naciśnij i przytrzymaj Meta (Opcja na Macu)
  3. Przytrzymując Meta, naciskaj wielokrotnie klawisze strzałek, aby zmienić rozmiar bieżącego panelu

Wydaje się jednak, że jest pewien limit czasu, więc jeśli nie naciśniesz klawisza strzałki podczas przytrzymywania Meta w ciągu 1 lub 2 sekund, Meta {strzałka} zostanie uznana za dane wejściowe w bieżącym monicie.

jetpack_guy
źródło
To jest dla mnie najłatwiejsze do zapamiętania, ale czasem trwa to zbyt długo. Czy można zmienić, o ile każde naciśnięcie klawisza strzałki zwiększa rozmiar panelu?
Connorbode
7

Właśnie odkryłem inny sposób. Najwyraźniej tmuxma dwa różne rodzaje naciśnięć klawiszy (zakładając, że twój klucz prefiksu jest nadal Ctrlb)

  1. Naciśnij Ctrlb, unieś palce, a następnie naciśnij jeden z arrowklawiszy. To przełącza ostrość.
  2. Naciśnij Ctrlb, nie podnoś palców, a następnie naciśnij jednocześnie jeden z arrowklawiszy. To zmienia rozmiar paneli i, jak sądzę, jest szybsze niż jakakolwiek inna metoda.

W podobny sposób Ctrlboma również inne zachowania. Pierwszy rodzaj przełączników naciskowych skupia się, a drugi rodzaj naciskania zamienia panele.

nikhilweee
źródło
Dobra robota, znajdowanie przykładu „działa od razu po wyjęciu z pudełka”.
Chmura