Як розділити термінал на декілька «поглядів»?


264

З vi, якщо виконати команду :sp, екран поділяється на два «думки», що дозволяє редагувати більше одного файлу з того ж терміналу.

Чи уздовж цих же ліній, чи є в одному терміналі відкриті кілька оболонок?

Відповіді:


350

Це можна зробити в screenтермінальному мультиплексорі.

  • Розділити вертикально: ctrlaтоді |.
  • Розділити по горизонталі: ctrlaтоді S(великі регістри 's').
  • Щоб не розрізати: ctrlaтоді Q(великі регістри 'q').
  • Для переключення з одного на інший: ctrlaтодіtab

Примітка. Після розбиття потрібно перейти до нового регіону та розпочати новий сеанс до ctrlaцього часу, cперш ніж ви зможете використовувати цю область.

EDIT, основне використання екрана:

  • Новий термінал: ctrlaтоді c.
  • Наступний термінал: ctrlaпотім space.
  • Попередній термінал: ctrlaпотім backspace.
  • N'th термінал ctrlaтоді [n]. (працює для n∈ {0,1… 9})
  • Перемикайтеся між терміналами за допомогою списку: ctrlaтоді " (корисно, коли більше 10 терміналів)
  • Відправте потім ctrlaна базовий термінал .ctrlaa

18
Tmux також робить це, і багато термінальних програм мають розділені види та вкладки.
Шон Дж. Гофф

3
@AaronNewton ctrl+aтоді відпустіть все тоді shift+s(не знаю, для блокування шапок, моє вимкнено)
shellholic

4
Ctrl A Shift Sрозбиває екран, потім Ctrl A Tabпереходить на інший розділ і Ctrl A cстворює башти. Чи все-таки потрібно, щоб ці команди автоматично запускалися при запуску, screenтому нам не доведеться запускати команди весь час.
Майкл Батлер

2
Яка версія екрана для вертикального розбиття? Я встановив версію 4.00.03, що є останньою завантаженою з усіх дзеркал, які я перевірив.
Брайан Ванденберг

1
Як зробити одне моє вертикальне вікно ширшим за інше? Я хочу, як розкол 30 | 30 | 40.
mpen

108

Спробуйте tmux (Terminal MUltipleXer):

tmux скріншот

І зрозуміти різницю між session, windowі pane: tmuxnestings


20
Екран проти tmux? tmux, ймовірно, кращий для розширеного використання і є більш сучасним, але екран встановлений скрізь і працює чудово.
user606723

Інші важливі tmuxдовідкові ресурси: вступ , конфігурація , праймер та шпаргалка .
not2qubit

1
@ user606723, серед іншого, конфігурація Tmux насправді читається; не так, як собака, перекинута клавіатурою. Звичайно, ви можете зробити з обгорткою на кшталт byobu(яка охоплює обидва термінальні мультиплексори), але Tmux, здається, перевершує в кількох аспектах, крім конфігурації. І вже переважав кілька років тому. Екрану потрібні патчі для розбиття обох напрямків, і Tmux вивів його з коробки. останнє, але не в останню чергу ліцензія може бути аргументом для Tmux або Screen, залежно від того, де ви стоїте.
0xC0000022L

1
@ user606723 станом на 2019 рік, це вже не так. screenвідсутня відносно свіжа установка Fedora 30, поки tmuxвона присутня.
Сора.

64

Як зазначалося в коментарях, окрім екрану, ще одним хорошим термінальним мультиплексором є tmux . Ви можете звернутися до посібника для повного опису та довідок команд. Деякі основні операції для початку - це:

  • Розділити екран по вертикалі: CtrlbіShift5
  • Розділити екран по горизонталі: CtrlbіShift"
  • Перемикання між панелями: Ctrlbіo
  • Закрити поточну панель: Ctrlbіx

Ви можете домогтися більш складних макетів, розділивши панелі. Ви також можете мати кілька вікон з панелями та перемикатися між ними.

  • Створіть вікна: Ctrlbіc
  • Перехід до наступного вікна: Ctrlbіn
  • Перехід до попереднього вікна: Ctrlbіp
  • Знищити поточне вікно: CtrlbіShift7

3
Зауважте, що ви можете змінити префікс tmux на щось легше досягти, ніж <Cb>.

21

Якщо ви хочете, щоб програма, яка просто розбиває термінал¹, є splitvt . Є програми, які розділяють термінал і роблять багато іншого, крім екрана, Tmux, Emacs,…

¹ Це термінал, який ви розщеплюєте, а не оболонка.


+1, хороший момент про те, як термінал - це те, що насправді ділиться.
Джастін Етьє

19

Окрім чудових пропозицій щодо екрану та Tmux, якщо ви використовуєте якийсь менеджер вікон, вас може зацікавити Термінатор, ви можете розділити горизонтально або вертикально, плюс вкладки та інше ... ось список функцій, взятих з веб-сайту автора :

  • Впорядкуйте клеми в сітці
  • Вкладки
  • Перетягування перенастроювання терміналів
  • Багато комбінацій клавіш
  • Збережіть декілька макетів та профілів через редактор налаштувань GUI
  • Одночасне введення тексту до довільних груп терміналів

Погляньте на скріншоти на сайті проекту.

Найважливіше, що ви можете поєднувати Термінатор із Screen / Tmux.


2
Зауважте, що використання розбитків Terminator буде менш зручним при копіюванні між двома вікнами редактора.
гб.

Ви можете редагувати кілька панелей одночасно після групування панелей (або просто вибравши всі одразу), а також можете також редагувати ярлики для перемикання панелей. У мене є ctrl-shift-h/j/k/lпереміщення між панелями та ctrl- (shift) -tab для перемикання між вкладками, це просто чудово.
sjas

1
добре, що ми можемо натиснути на них, щоб сфокусуватися; але не можу все-таки знайти спосіб рівномірного розподілу терміналів в сітці, це просто безлад, який слід виправити вручну, також мені потрібно динамічно додавати термінали, тому оновлювати їх у рівномірно розподіленій сітці, будь-яка ідея?
Сила Водолія

Термінатор - це програма X-windows, а не програма командного рядка, наприклад tmux та screen. Програму спеціально згадували same terminalдвічі, тому "Термінатор" або "тілікс" (як згадує @sjas) - не дуже хороші пропозиції Якщо ви перебуваєте в сеансі ssh на віддаленому сервері без X-сервера, ви навіть не зможете запустити ці інструменти.
haridsv

8

Konsole для KDE має вбудовану функцію :

  • Ctrl+ (до спліт-вліво / вправо

  • Ctrl+ )до Спліт Переглянути вгору / знизу

  • Shift+ Tabбуде переходити через розділені подання

  • Shift+ Left Arrow/ Right Arrowбуде циклічно переглядати поточний вигляд через вкладки / представлення

  • Ctrl+ Shift+, Xщоб закрити поточний вигляд


Чи знаєте ви комбінації клавіш для переключення між розділеними панелями перегляду в консолі?
LangeHaare

1
@LangeHaare SHIFT + TAB пройде по панелях перегляду
chaptuck

7

Використовуйте термінатор .

Потрібно бути доступним через улюбленого менеджера пакунків, якщо ви використовуєте основний дистрибутив.

Це єдиний термінальний мультиплексор, де вставлення копій працює належним чином із панелей у вашому вікні.

Оновлення: tilixце terminatorальтернатива, яка майже повністю знаходиться нарівні з термінатором (і там, де також працює належне копіювання). Оцінивши це, я все-таки дотримуюся, terminatorпроте завдяки кращій обробці вкладок та більш легкій конфігурації (від мого POV).


Термінатор технічно не є мультиплексором: "Термінальний мультиплексор - це програмне забезпечення, яке можна використовувати для мультиплексування декількох віртуальних консолей, що дозволяє користувачеві отримувати доступ до декількох окремих сеансів терміналу всередині одного вікна терміналу або сеансу віддаленого терміналу." (з Вікіпедії)
erb

Це також не єдиний мультиплексор, де вставлення копій працює належним чином зсередини панелей, tmux робить це добре за умови правильної конфігурації.
erb

@erb - що саме потрібно налаштувати, якщо я не хочу вибирати повні рядки, що охоплюють кілька терміналів при потрійному клацанні, і чому це не правильно встановлено за замовчуванням?
sjas

1
Ви можете використовувати режим копіювання в tmux для копіювання, якщо ви хочете використовувати мишу, вам потрібно лише активувати підтримку миші, моя конфігурація з нею знаходиться тут: github.com/ErikBjare/dotfiles/blob/master/home/. tmux /… Якщо ви хочете використовувати буфер обміну системи у режимі копіювання, дивіться це: unix.stackexchange.com/questions/131011/…
erb

2
Так? Чому ні? Ви можете змусити його працювати майже точно (якщо не зовсім) так само, як вибрати в термінаторі. Раніше я був користувачем термінатора з тієї ж причини, як тільки я виконав конфігурацію, я ніколи не оглядався і тепер можу зберегти досить багато оперативної пам’яті та інших ресурсів, перейшовши на більш легкий емулятор терміналу, оскільки копіювання було єдиним, що мене дратувало.
erb

4

Гуаке + Бьобу

Я щасливий користувач Guake з Byobu всередині нього, який за замовчуванням використовує tmux( можливо, краще, ніж screen).

Три кроки

  1. Встановіть їх (PPA не потрібні на Ubuntu чи Debian, перевірте інші дистрибутиви )

    sudo apt install guake byobu
  2. Додайте його до наявних оболонок (як я розповідав у цьому випуску Guake Github ):

    which byobu | sudo tee -a /etc/shells
  3. У налаштуваннях Guake ( guake-prefs) виберіть Byobu як інтерпретатора за замовчуванням: зображення


  1. Необов’язково: зніміть прапорець "Показати панель вкладок", оскільки для цього ви будете використовувати Byobu:

    зображення

  2. Якщо ярлик не працює, спробуйте відключити ті, хто може заважати Guake (у моєму випадку - Ctrl+F2для вертикального розбиття): скріншот

Інші пропозиції

  1. Дізнайтеся ярлики за допомогою Shift+ F1або цього відмінного екрана .
  2. Дізнайтеся про доступні термінальні команди bybu за допомогою apropos byobu
  3. Щоб використовувати клавіші fn у програмі Midnight Commander, використовуйте Alt+ або Shift+, F12щоб відключити F-клавіші byobu.

скріншот


2

Спробуйте вертикальний розділ для екрана GNU

Цей патч надає функцію вертикального розбиття для поточних випусків екрану GNU. Ця функція призначена для функціонування таким же чином, як і існуюча команда розділення екрана, але розділяє регіони вертикально, а не горизонтально. Обидві форми розщеплення можна використовувати разом у будь-якій бажаній комбінації / кількості / порядку. Щось подібне планується, що незабаром з’явиться на GNU Screen 4.1, і воно вже доступне в CVS за цією ниткою списку розсилки (і включено до пакетів екранів Debian і Ubuntu, починаючи з 4.0.3-10). Крім того, нещодавній проект під назвою ScreenWM розроблений спеціально для роботи з екраном, зафіксованим vsplit (перевірте це!).


Щоб бути більш конкретним, Ctrl+|розбиває screenв Ubuntu відразу біту.
Йонатан Естрьом
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.