Jak podzielić terminal na więcej niż jeden „widok”?


264

W viprzypadku wydania polecenia :spekran dzieli się na dwa „widoki”, co pozwala edytować więcej niż jeden plik z tego samego terminala.

Czy wzdłuż tych samych linii można otworzyć wiele powłok w tym samym terminalu?

Odpowiedzi:


350

Możesz to zrobić w screenmultiplekserze terminali.

  • Aby podzielić w pionie: ctrlanastępnie |.
  • Aby podzielić poziomo: ctrlanastępnie S(wielkie litery).
  • Aby odznaczyć: ctrlanastępnie Q(wielkie litery „q”).
  • Aby przełączyć się z jednego na drugi: ctrlanastępnietab

Uwaga: po rozcięciu, trzeba przejść do nowego regionu i rozpocząć nową sesję poprzez ctrlapotem c, zanim będzie można korzystać z tego obszaru.

EDYCJA, podstawowe użycie ekranu:

  • Nowy terminal: ctrlawtedy c.
  • Następny terminal: ctrlawtedy space.
  • Poprzedni terminal: ctrlawtedy backspace.
  • N'th Terminal ctrlanastępnie [n]. (działa dla n∈ {0,1… 9})
  • Przełączaj się między terminalami za pomocą listy: ctrlanastępnie " (przydatne, gdy więcej niż 10 terminali)
  • Następnie wyślij ctrlado bazowego terminala .ctrlaa

18
Tmux również to robi, a wiele programów terminalowych ma podzielone widoki i zakładki.
— Shawn J. Goff

3
@AaronNewton, ctrl+aa następnie zwolnij wszystko shift+s(nie wiem o Caps Lock, moje jest wyłączone)
— Shellholic

4
Ctrl A Shift Sdzieli ekran, następnie Ctrl A Tabprzełącza się na inny podział i Ctrl A ctworzy monit bash. Czy jest tak, że te polecenia są uruchamiane automatycznie podczas uruchamiania, screenwięc nie musimy uruchamiać poleceń przez cały czas.
— Michael Butler,

2
Która wersja ekranu do podziału pionowego? Wersja, którą zainstalowałem, to 4.00.03, czyli ta sama, co najnowsze dostępne pobieranie ze wszystkich lusterek, które sprawdziłem.
— Brian Vandenberg

1
Jak sprawić, aby jedno z moich pionowych okien było szersze niż drugie? Chcę podziału 30 | 30 | 40.
— mpen

108

Wypróbuj tmux (Terminal MUltipleXer):

zrzut ekranu tmux

I zrozumieć różnicę między session, windowi pane: tmuxnestings


20
Screen vs Tmux? tmux jest prawdopodobnie lepszy dla zaawansowanych użytkowników i jest bardziej nowoczesny, ale ekran jest zainstalowany wszędzie i działa dobrze.
— user606723,

Inne wspaniałe tmuxzasoby pomocy to: intro , config , primer i ściągawka .
— not2qubit,

1
@ user606723 między innymi konfiguracja Tmux jest rzeczywiście czytelna; nie jak pies staczający się po klawiaturze. Oczywiście możesz zrobić to za pomocą otoki byobu(która otacza oba końcowe multipleksery), ale Tmux wydaje się być lepszy w kilku aspektach poza konfiguracją. Kilka lat temu był już lepszy. Screen potrzebował łatek do podziału w obu kierunkach, a Tmux wyjął go z pudełka. wreszcie licencja może być argumentem dla Tmux lub Screen, w zależności od tego, gdzie stoisz.
— 0xC0000022L

1
@ user606723 od 2019 r., to już nie jest prawda. screenbrakuje w stosunkowo świeżej instalacji Fedory 30, podczas gdy tmuxjest obecny.
— Sora.

64

Jak wspomniano w komentarzach, oprócz ekranu innym dobrym terminalowym multiplekserem jest tmux . Pełny opis i opis poleceń można znaleźć w instrukcji. Niektóre podstawowe operacje na początek to:

  • Podziel ekran pionowo: CtrlbiShift5
  • Podziel ekran w poziomie: CtrlbiShift"
  • Przełączaj między panelami: Ctrlbio
  • Zamknij bieżący panel: Ctrlbix

Bardziej złożone układy można osiągnąć, dzieląc panele. Możesz także mieć wiele okien z panelami i przełączać się między nimi.

  • Utwórz okna: Ctrlbic
  • Przejdź do następnego okna: Ctrlbin
  • Przejdź do poprzedniego okna: Ctrlbip
  • Zniszcz bieżące okno: CtrlbiShift7

3
Zauważ, że możesz zmienić prefiks tmux na coś łatwiejszego do osiągnięcia niż <Cb>.


19

Oprócz doskonałych sugestii na temat Screen i Tmux, jeśli używasz jakiegoś menedżera okien, możesz być zainteresowany Terminatorem , możesz podzielić mody w poziomie lub w pionie, a także zakładki i więcej ... oto lista funkcji zaczerpniętych ze strony autora :

  • Rozmieść terminale w siatce
  • Zakładki
  • Przeciągnij i upuść zmianę kolejności terminali
  • Wiele skrótów klawiaturowych
  • Zapisz wiele układów i profili za pomocą edytora preferencji GUI
  • Jednoczesne pisanie na dowolnych grupach terminali

Zobacz zrzuty ekranu na stronie projektu.

Najważniejsze, że możesz połączyć Terminator z Screen / Tmux.


2
Pamiętaj, że korzystanie z podziałów Terminatora będzie mniej wygodne podczas kopiowania między dwoma oknami edytora.
— gb.

Możesz edytować kilka okienek jednocześnie po zgrupowaniu okienek (lub po prostu zaznaczając wszystkie naraz), możesz także edytować skróty do przełączania okienek. Mam ctrl-shift-h/j/k/ldo przełączania między panelami i ctrl- (shift) -tab do przełączania między kartami, to po prostu działa niesamowicie.
— sjas,

1
dobrze, możemy kliknąć na nich, aby się skupić; ale nadal nie mogę znaleźć sposobu na równomierne rozmieszczenie terminali w sieci, to jest tylko bałagan do naprawienia ręcznie, również muszę dynamicznie dodawać terminale, dlatego zaktualizuj je w równomiernie rozmieszczonej sieci, jakiś pomysł?
— Wodnik Moc

Terminator to program X-Windows, a nie program wiersza polecenia, taki jak tmux i screen. OP konkretnie wspomniano same terminaldwukrotnie, więc Terminator lub tilix (jak wspomniano w @sjas) nie są dobrymi sugestiami. Jeśli jesteś w sesji ssh na zdalnym serwerze bez serwera X, nie będziesz mógł nawet uruchomić tych narzędzi.
— haridsv

8

Konsola dla KDE ma wbudowaną funkcję :

  • Ctrl+ (do podzielonego widoku Lewo / Prawo

  • Ctrl+ )do podzielonego widoku Góra / Dół

  • Shift+ Tabprzejdzie przez podzielone widoki

  • Shift+ Left Arrow/ Right Arrowprzełączy bieżący widok przez zakładki / widoki

  • Ctrl+ Shift+, Xaby zamknąć bieżący widok


Czy znasz skróty klawiaturowe do przełączania między okienkami widoku podzielonego w konsoli?
— LangeHaare

1
@LangeHaare SHIFT + TAB będzie przełączał się między oknami widoku
— chaptuck

7

Użyj terminatora .

Powinny być dostępne za pośrednictwem Twojego ulubionego menedżera pakietów, jeśli korzystasz z dystrybucji głównego nurtu.

Jest to jedyny multiplekser terminali, w którym kopiowanie i wklejanie działa poprawnie z poziomu paneli w oknie.

Aktualizacja: tilixjest terminatoralternatywą, która jest prawie całkowicie na równi z terminatorem (i tam, gdzie kopiowanie również działa poprawnie). Po dokonaniu oceny nadal się trzymam, terminatorjednak dzięki lepszej obsłudze kart i łatwiejszej konfiguracji (z mojego POV).


Terminator z technicznego punktu widzenia nie jest multiplekserem: „Multiplekser terminali to aplikacja, która może służyć do multipleksowania kilku wirtualnych konsol, umożliwiając użytkownikowi dostęp do wielu oddzielnych sesji terminali w oknie pojedynczego terminalu lub sesji terminalu zdalnego”. (z Wikipedii)
— erb

Nie jest to również jedyny multiplekser, w którym kopiowanie i wklejanie działa poprawnie z poziomu paneli, tmux robi to dobrze z odpowiednią konfiguracją.
— erb

@erb - co dokładnie trzeba skonfigurować, jeśli nie chcę wybierać pełnych linii obejmujących kilka terminali po trzykrotnym kliknięciu i dlaczego nie jest to rozsądne ustawienie domyślne?
— sjas,

1
Możesz użyć trybu kopiowania w tmux do kopiowania, jeśli chcesz używać myszy, musisz tylko włączyć obsługę myszy, moja konfiguracja z nią jest tutaj: github.com/ErikBjare/dotfiles/blob/master/home/. tmux /… Jeśli chcesz używać schowka systemowego z trybem kopiowania, zobacz to: unix.stackexchange.com/questions/131011/…
— erb

2
Co? Dlaczego nie? Możesz sprawić, by działał prawie dokładnie (jeśli nie dokładnie) w taki sam sposób, jak wybór w terminatorze. Kiedyś byłem użytkownikiem terminatora z tego samego powodu, kiedy skończyłem konfigurację, nigdy nie oglądałem się za siebie i teraz mogę zaoszczędzić sporo pamięci RAM i innych zasobów, przełączając się na bardziej lekki emulator terminala, ponieważ kopiowanie było jedyną rzeczą, która mnie denerwowała.
— erb

4

Guake + Byobu

Jestem szczęśliwym użytkownikiem Guake z Byobu w nim, który domyślnie używa tmux( prawdopodobnie lepiej niż screen).

Trzy kroki

  1. Zainstaluj je (nie potrzebujesz PPA na Ubuntu ani Debianie, sprawdź inne dystrybucje )

    sudo apt install guake byobu
  2. Dodaj go do dostępnych powłok (jak powiedziałem w tym numerze Guake Github ):

    which byobu | sudo tee -a /etc/shells
  3. W preferencjach Guake ( guake-prefs) wybierz Byobu jako domyślnego tłumacza: wizerunek


  1. Opcjonalnie: Odznacz „Pokaż pasek kart”, ponieważ użyjesz do tego Byobu:

    wizerunek

  2. Jeśli skrót nie działa, spróbuj wyłączyć Guake'a, który może przeszkadzać (w moim przypadku był to Ctrl+F2podział pionowy): zrzut ekranu

Inne sugestie

  1. Naucz się skrótów za pomocą Shift+ F1lub tego doskonałego screencastu .
  2. Dowiedz się dostępne polecenia terminala byobu za pomocą apropos byobu
  3. Aby użyć klawiszy fn w Midnight Commander, użyj Alt+ Nºlub Shift+, F12aby wyłączyć klawisz F. byobu.

zrzut ekranu


2

Wypróbuj podział pionowy dla ekranu GNU

Ta poprawka zapewnia funkcję podziału w pionie dla bieżących wersji GNU Screen. Ta funkcja została zaprojektowana do działania w taki sam sposób, jak istniejące polecenie podziału ekranu, ale z podziałem regionów w pionie zamiast w poziomie. Obie formy podziału można stosować razem w dowolnej kombinacji / ilości / kolejności. Coś podobnego pojawi się wkrótce w GNU Screen 4.1 i jest już dostępne w CVS dla tego wątku listy mailingowej (i zostało uwzględnione w pakietach ekranów Debian i Ubuntu, począwszy od 4.0.3-10). Ponadto najnowszy projekt o nazwie ScreenWM został zaprojektowany specjalnie do pracy z ekranem z łatką vsplit (sprawdź to!).


Mówiąc ściślej, Ctrl+|dzieli screenUbuntu od samego początku.
— Jonatan Öström
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.