it-swarm-ru.tech

Как разбить терминал на более чем один «вид»?

С vi, если вы введете команду :sp, экран разделяется на два "вида", что позволяет редактировать более одного файла с одного терминала.

Наряду с этим, есть ли способ открыть несколько оболочек в одном терминале?

285
Justin Ethier

Вы можете сделать это в screen терминальном мультиплексоре.

  • Чтобы разделить по вертикали: ctrla тогда |,.
  • Чтобы разделить по горизонтали: ctrla тогда S (заглавные 's').
  • Чтобы расстаться: ctrla тогда Q (заглавная 'q').
  • Чтобы переключиться с одного на другое: ctrla тогда tab

Примечание. После разделения необходимо перейти в новый регион и начать новый сеанс с помощью ctrla тогда c прежде чем вы сможете использовать эту область.

РЕДАКТИРОВАТЬ, основное использование экрана:

  • Новый терминал: ctrla тогда c,.
  • Следующий терминал: ctrla тогда space,.
  • Предыдущий терминал: ctrla тогда backspace,.
  • N-й терминал ctrla тогда [n], (работает для n∈ {0,1… 9})
  • Переключение между терминалами с использованием списка: ctrla тогда " (полезно, когда более 10 терминалов)
  • Послать ctrla на базовый терминал ctrla тогда a,.
376
shellholic

Попробуйте tmux (терминал MUltipleXer):

tmux screenshot

И чтобы понять разницу между session, window и ​​pane: tmuxnestings

117
Yonatan Maman

Как уже упоминалось в комментариях, помимо экрана, еще один хороший терминальный мультиплексор - tmux . Вы можете обратиться к руководству для полного описания и справочника команд. Некоторые основные операции для начала:

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

Вы можете получить более сложные макеты, разделив панели. Вы также можете иметь несколько окон с панелями и переключаться между ними.

  • Создать окна: Ctrlb а также c
  • Переключиться на следующее окно: Ctrlb а также n
  • Переключиться на предыдущее окно: Ctrlb а также p
  • Уничтожить текущее окно: Ctrlb а также Shift7
67
dkaragasidis

Если вам нужна программа, которая просто разделяет терминал¹, есть splitvt . Существуют программы, которые разделяют терминал и делают много других вещей, таких как Screen, Tmux, Emacs,…

¹ Это терминал, который вы разделяете, а не оболочка.

22
Gilles 'SO- stop being evil'

Помимо отличных советов по Screen и Tmux, если вы используете какой-то оконный менеджер, который вас может заинтересовать Terminator вы можете разделить моды по горизонтали или вертикали, а также вкладки и многое другое ... вот список функции взяты с сайта автора:

  • Расположите терминалы в сетке
  • Вкладки
  • Перетаскивание переупорядочения терминалов
  • Много сочетаний клавиш
  • Сохранить несколько макетов и профилей через редактор настроек GUI
  • Одновременный набор на произвольные группы терминалов

Посмотрите скриншоты на сайте проекта.

Самое главное, вы можете объединить Terminator с Screen/Tmux.

20
alemani

Konsole для KDE имеет встроенную функцию :

  • Ctrl+( разделить вид влево/вправо

  • Ctrl+) разделить вид сверху/снизу

  • Shift+Tab будет циклически проходить через разделенные виды

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

  • Ctrl+Shift+X закрыть текущий вид

9
MrUser

Используйте терминатор .

Должен быть доступен через ваш любимый менеджер пакетов, если вы используете основной дистрибутив.

Это единственный оконечный мультиплексор, в котором вставка копий работает правильно из панелей вашего окна.

Обновление: tilix является альтернативой terminator, которая почти полностью соответствует терминатору (и где копирование также работает должным образом). После оценки я все еще придерживаюсь terminator, однако из-за более приятной обработки вкладок и более легкой настройки (из моего POV).

7
sjas

Guake + Byob

Здесь Я написал более полный ответ .

Я счастливый пользователь Guake с Byob внутри, который по умолчанию использует 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 в качестве переводчика по умолчанию:

    screenshot

Optionals

  1. Guake

    1. Снимите флажок "Показать панель вкладок", так как для этого вы будете использовать Byobu:
      image
    2. Если ярлык не работает, попробуйте отключить Guake, который может помешать (в моем случае было Ctrl+F2 для вертикального разделения): screenshot
  2. бёб

    1. Узнайте ярлыки с Shift+F1 или это отличный скринкаст .
    2. Узнать доступные команды терминала byobu с помощью apropos byobu
    3. Для использования клавиш Fn в Midnight Commander используйте Alt+ ,или Shift+F12 отключить бёбу F-клавиш.

screenshot

  • Для еще большего счастья используйте zsh с oh-my-zsh и
  • Проверьте настройки терминала с помощью это тест-драйв .
6
Pablo A

Попробуйте Вертикальное разделение для GNU Экран

Этот патч предоставляет функцию вертикального разделения для текущих выпусков экрана GNU Screen. Функция предназначена для работы так же, как и существующая команда разделения экрана, но с разделением областей по горизонтали, а не по горизонтали. Обе формы разделений можно использовать вместе в любом желаемом сочетании/количестве/порядке. Нечто подобное должно появиться в GNU Экран 4.1 в ближайшее время, и уже доступно в CVS для этой ветки списка рассылки (и имеет был включен в экранные пакеты Debian и Ubuntu, начиная с 4.0.3-10.) Кроме того, недавний проект, названный ScreenWM, специально разработан для работы с залатанным экраном vsplit (зацените!).

2
Narga