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+ 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.