42

Время от времени я вижу людей, использующих то, что выглядит как терминал в их Mac, за исключением того, что в том, что кажется одним окном, они имеют вертикальное «разделение».«На одной стороне раскола у них есть emacs или что-то еще, а на другой - что-то еще.

Как я могу иметь две независимые вещи, происходящие одновременно в одном терминальном окне, разделенные вертикальным разделением? Это выглядит как разделенная панель, но разделенная панель - это горизонтальное разделение, а действия отражаются в панелях.

9 ответов9

28

Возможно экран GNU с вертикальным разделением?

образ

Он должен быть уже установлен на вашем Mac, введите screen в терминале.

Вы также можете сделать это с помощью Emacs.

18

Загрузите iTerm2 для macOSX отсюда.

Используйте cmd + d для вертикального разделения и cmd + shift + d для горизонтального разделения

Для перемещения по вертикали влево / вправо или вверх / вниз используйте cmd + [ и cmd + ]

Я рекомендовал iTerm 2 из-за этих функций.

Также мне нравится функция автозаполнения, которая появляется, когда вы нажимаете cmd + ;

Короче говоря, функции включают в себя следующее:

  • Сплит Панели
  • Окно горячих клавиш
  • Поиск
  • Автозаполнение
  • Копия без мыши
  • Вставить историю
  • Мгновенное воспроизведение
  • Конфигурируемость
  • Полноэкранный
  • 256 цветов
  • Unix-подобные
  • читабельность
  • Отчетность мыши
  • Growl Поддержка
  • Открытые вкладки
  • Теговые профили
  • Многоязычного
17

Если вам нравится работать с окнами терминала в полноэкранном режиме, вы можете использовать встроенную в MacOS функцию разделения экрана, например:

  1. Откройте два окна терминала
  2. Переключить одно из окон терминала во весь экран
  3. Активируйте «Управление полетом» (по умолчанию: F3)
  4. Перетащите окно второго терминала на весь экран первого
  5. Наслаждайтесь вертикальными окнами полноэкранного терминала

Вы можете переключать фокус клавиатуры между терминами с помощью - [ и - ]

6

Tmux позволит вам разделить экран на две половины по вертикали или горизонтали.

# install tmux
brew install tmux          # on mac
sudo apt-get install tmux  # on debian

# run it
tmux

# split the screen vertically using this shortcut
CTRL+B %

# split the screen horizontally using this shortcut
CTRL+B "

# switch between screens using this shortcut
CTRL+B o

Tmux сплит экран

6

Ответ Джона Т (экран GNU, доступ с screen) был тем, что мне было нужно, но мне понадобилось несколько минут, чтобы изучить некоторые основы, чтобы сделать его полезным. Вот начало, которое мне понадобилось для привязки клавиш (прямо со страницы руководства) - обратите внимание, что вам нужно установить версию GNU для вертикальных расколов (указанную после версии FAU, которая была в моих Mavericks).

Кроме того, я настоятельно рекомендую вам посмотреть man screen оператора, чтобы посмотреть, что соответствует вашим потребностям. Вы всегда можете просто запустить другой терминал, используя экран, а затем прочитать руководство ...

Версия экрана 4.00.03 (FAU) 23 октября 2006 года

(включены в Mavericks и, вероятно, аналогичные ранее)

       The following table shows the default key bindings:

       C-a '       (select)      Prompt for a window name or number to switch to.

       C-a "       (windowlist -b)
                                 Present a list of all windows for selection.

       C-a 0       (select 0)
        a|            a|
       C-a 9       (select 9)
       C-a -       (select -)    Switch to window number 0 - 9, or to the blank window.

       C-a tab     (focus)       Switch the input focus to the next region.  See also split, remove, only.

       C-a C-a     (other)       Toggle to the window displayed previously.  Note that this binding defaults
                                 to  the command character typed twice, unless overridden.  For instance, if
                                 you use the option "-e]x", this command becomes "]]".

...

      C-a S       (split)       Split the current region into two new ones.

...

       C-a ?       (help)        Show key bindings.

       C-a \       (quit)        Kill all windows and terminate screen.

...

       C-a *       (displays)    Show a listing of all currently attached displays.

Дополнительные пункты с 'Экранная версия 4.02.01 (GNU) 28-Apr-14'

(устанавливается с помощью sudo port install screen только сейчас)

Все элементы, перечисленные выше в версии 4.00.02 (FAU), а также:

      C-a S       (split)       Split the current region horizontally into two new ones.   See  also  only,
                                 remove, focus.

То же самое выше, но это разъясняет, что это горизонтально. ...

       C-a |       (split -v)    Split the current region vertically into two new ones.
3

После разделения экрана по вертикали вы можете ввести экран, чтобы создать новый экземпляр. Или вы также можете использовать iTerm или iTerm2, которые могут использовать вертикальное разделение. Смотрите эту ссылку для разделенных панелей. www.iterm2.com/#/section/features/split_panes

2

очень похоже на ответ Джона Т об экране, но вы также можете сделать это с помощью tmux (http://tmux.sourceforge.net/). Хорошая особенность tmux по сравнению с screen заключается в том, что функция вертикального разделения доступна даже в версии, которую вы можете получить из пакетов (macports или homebrew для Mac, apt-get для ubuntu и т.д.).

1

Чтобы разделить это в emacs, используйте ctrl + x, b (control и x вместе, затем b), чтобы переключиться на другой буфер, который уже открыт. Вы также можете нажать на имя файла внизу, чтобы переключиться на другой буфер.

Вот список горячих клавиш для изменения размера окон и многое другое с текстом ссылки на emacs

0

Как это возможно, чтобы две независимые вещи происходили одновременно в одном и том же окне терминала, разделенные вертикальным разделением?

Можно сказать, что в основном это просто две программы в одном окне.

В OS X Snow Leopard встроен горизонтальный разделитель, но это действительно функция зеркалирования. См. Также Mac OS X Snow Leopard - разделенные окна терминала.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .