Одним из наиболее широко используемых инструментов в процессе веб-разработки, безусловно, является терминал. Когда вы работаете над проектом, часто вы обнаруживаете, что можете использовать терминал с несколькими открытыми одновременно вкладками, одна для запуска локального веб-сервера, вторая вкладка для управления базой данных, другая для копирования файлов и так далее. Это может скоро стать грязным и трудным обращаться. Одним из решений этой проблемы, которое хорошо работает для меня, является терминальный мультиплексор tmux .
Что такое Tmux
tmux
— это мультиплексор терминалов: он позволяет нескольким терминалам, на каждом из которых выполняется отдельная программа, создавать, получать доступ и управлять ими с одного экрана.
Вышеприведенное определение, взятое с веб-сайта tmux
, ясно: из одного окна терминала мы можем запустить и контролировать несколько других терминалов, и в каждом из них запустить другое приложение или другой экземпляр приложения.
tmux
разработан по модели клиент-сервер. Это привносит в игру концепцию сессий. Сеанс хранится на сервере, который содержит представление окна. Каждое окно может быть связано с несколькими сессиями и перемещаться между ними.
С другой стороны, к каждому сеансу можно подключить несколько клиентов. Таким образом, один или несколько пользователей могут подключаться к сеансу tmux
с разных компьютеров, и они совместно используют одну и ту же информацию в окне. Это чрезвычайно полезно при обучении или совместной работе, поскольку пользователи, использующие сеанс tmux
видят ту же информацию в своих окнах терминала.
Подключение к сеансу tmux
выполняется путем запуска приложения с помощью следующей команды:
1
|
tmux attach <session_name>
|
Когда один пользователь хочет завершить совместное использование терминала, используется следующая команда:
1
|
tmux detach
|
Как установить Tmux
tmux
работает на Linux и Mac. На момент написания этой статьи я не знал о версии приложения для Windows.
Для большинства дистрибутивов Linux в их репозиториях есть пакет:
На Arch (который я использую) установка — это просто выполнение следующей команды:
1
|
sudo pacman -S tmux
|
После установки вы можете запустить tmux
, введя команду tmux
в окне терминала. Если вы хотите, чтобы он запускался автоматически для каждого сеанса терминала, потребуется немного настроек:
- В меню «Настройки» перейдите в « Редактировать текущий профиль» и установите для поля « Команда» значение
tmux
какtmux
наtmux
экрана ниже:
Если вы работаете на Mac, iTerm2 поставляется с установленным tmux
, и чтобы запустить его, вы должны выполнить команду: tmux
.
Характеристики
После установки, если вы запустите окно терминала, единственное, что вы заметите, это наличие строки состояния в нижней части экрана:
Давайте посмотрим на наиболее распространенные функции. Для получения полного списка функций см. Ссылки в конце этой статьи.
Создание панелей
Или, другими словами, разбить главное окно. Прежде всего, я должен сказать, что каждая команда tmux
имеет префикс, используя следующую комбинацию клавиш: <Ctrl-b>
. Это можно изменить, но позже мы узнаем, как настроить и настроить tmux
.
Таким образом, для разделения окна по вертикали (или на правой и левой панелях) должна использоваться следующая команда:
1
|
<Ctrl-b>%
|
и для разделения окна на горизонтальные панели вы можете использовать:
1
|
<Ctrl-b>»
|
И результат должен выглядеть следующим образом:
Перемещение с одной панели на другую и позиционирование панелей
Для перемещения курсора с одной панели на другую (активация панелей) используются клавиши со стрелками. Команда выглядит так:
1
|
<Ctrl-b>[Up, Down, Right, Left]
|
Если вы хотите перейти на ранее активную панель, вы можете использовать следующую команду:
1
|
<Ctrl-b>;
|
Кроме того, если вы не удовлетворены положением панели, вы можете вращать панели с помощью команды:
1
|
<Ctrl-b><Ctrl-o>
|
Изменение размеров панелей
После создания вы можете изменить размер каждой панели за один шаг ячейки, используя:
1
|
<Ctrl-b><Ctrl-Up[Down][Left][Right]>
|
или с шагом в пять ячеек:
1
|
<Ctrl-b><Meta-Up[Down][Left][Right]>
|
Закрытие панели
Если вы хотите закрыть текущую панель, вы можете использовать:
1
|
<Ctrl-b>x
|
Создать новое окно
Иногда вы можете захотеть создать другое окно, например, для работы над другим проектом. Это окно может содержать совершенно другой набор панелей с разными программами в каждой из них. Для этого выполните следующую команду:
1
|
<Ctrl-b>c
|
Тогда, если вы хотите перейти к следующему окну, вы можете использовать:
1
|
<Ctrl-b>n
|
И вы можете переключиться на предыдущее окно, используя:
1
|
<Ctrl-b>p
|
Или вы можете выбрать окно в интерактивном режиме с помощью:
1
|
<Ctrl-b>w
|
Закрытие окна
Чтобы закрыть открытое окно, вы используете:
1
|
<Ctrl-b>&
|
Режим копирования
Предположим, вы выполнили команду на терминале, и выходные данные команды не помещаются на одном экране, поэтому вам нужно прокрутить вверх, чтобы увидеть весь вывод. Если вы попробуете нажать клавишу « Вверх» , это не будет прокручивать вас вверх, поскольку покажет только историю ваших команд. Чтобы прокрутить экран вверх, используйте следующую команду:
1
|
<Ctrl-b>[
|
А затем нажмите одну из следующих клавиш: Up
, Down
, PgUp
или PgDn
чтобы прокрутить вверх или вниз.
Кроме того, в этом режиме вы можете скопировать текст из истории, а затем вставить его с помощью:
1
|
<Ctrl-b>]
|
Чтобы выйти из этого режима insert
, просто нажмите Esc .
Сейчас существует множество других команд, связанных с различными клавишами. Вы можете перечислить все привязки клавиш, выполнив:
1
|
<Ctrl-b>?
|
Конфигурирование Tmux
tmux
легко настраивается. Файл конфигурации — это /etc/tmux.conf
для общесистемных настроек или (рекомендуется) ~/.tmux.conf
для пользовательских настроек.
Изменить префиксный ключ
Одной из первых вещей, которую изменяет большинство пользователей, является сопоставление префиксного ключа (поскольку <Ctrl-b>
не кажется таким удобным). Большинство пользователей изменяют его на <Ctrl-a>
. Это можно сделать так:
1
2
3
|
set -g prefix Ca
unbind Cb
bind Ca send-prefix
|
Опция -g
в первой команде сообщает tmux, что это глобальная опция, то есть она установлена для всех окон и сессий.
Изменить привязки клавиш
Некоторые пользователи могут предпочесть Vi или Emacs как привязки для ключевых действий. Это делается с помощью:
1
2
|
set -g status-keys vi
setw -g mode-keys vi
|
Команда setw
устанавливает параметр для окна (влияет на все панели в окне).
Строка состояния
Вы можете выполнить различные конфигурации строки состояния: вы можете включить или выключить ее, вы можете изменить ее фон и цвет переднего плана, вы можете изменить информацию, отображаемую внутри нее, и т. Д.
Чтобы отключить строку состояния, введите следующую команду:
1
|
set -g status off
|
Или вы можете попробовать что-то вроде этого:
1
2
3
|
set -g status-bg blue
set -g status-fg white
setw -g status-left #H:#S at #W:#T
|
… который меняет фон строки состояния на синий, цвет текста на белый и слева от строки состояния отображается имя хоста localhost, за которым следуют двоеточие и имя сеанса, затем строка ‘at’ и имя окна , двоеточие и, наконец, заголовок панели.
Вы также можете отобразить строку состояния внизу или вверху окна:
1
|
set -g status-position [bottom |
|
Для получения дополнительной информации о конфигурации и других параметрах конфигурации вы можете проверить раздел опций руководства .
Вывод
Я надеюсь, что вы нашли это введение в tmux
полезным для улучшения рабочего процесса вашего терминала. Я представил здесь только несколько команд, которые я использую чаще всего. Если вы хотите узнать больше, есть несколько доступных ресурсов. Я очень рекомендую: