Advertisement
  1. Code
  2. Tools & Tips
Code

Введение в Tmux

by
Difficulty:BeginnerLength:ShortLanguages:

Russian (Pусский) translation by Ilya Nikov (you can also view the original English article)

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


Что такое Tmux

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

Определение выше, взятое с веб-сайта tmux, понятно: из одного окна терминала мы можем запускать и управлять несколькими другими терминалами и в каждом из них запускать другое приложение или другой экземпляр приложения.

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

С другой стороны, к каждому сеансу можно подключить несколько клиентов. Таким образом, один или несколько пользователей могут подключаться к сеансу tmux с разных компьютеров и совместно использовать одну и ту же информацию в окне. Это чрезвычайно полезно в обучении или совместной работе, поскольку пользователи, использующие сеанс tmux, видят одну и ту же информацию в своих терминальных окнах.

Подключение к сеансу tmux выполняется при запуске приложения с помощью следующей команды:

Когда один пользователь хочет завершить функцию совместного использования терминала, используется следующая команда:


Как установить Tmux

tmux работает на Linux и Mac. На момент написания этой статьи я не знаком с версией приложения для Windows.

Для большинства дистрибутивов Linux в своих репозиториях есть пакет:

В Arch (который я использую) установка - это просто запуск следующей команды:

После установки вы можете запустить tmux, используя команду tmux в окне терминала. Если вы хотите, чтобы он работал автоматически для каждого сеанса терминала, потребуется небольшая конфигурация:

  • В меню «Настройки» выберите «Редактировать текущий профиль» и установите для поля «Команда» значение tmux, как показано на снимке экрана ниже:
tmux settings

Если вы работаете на Mac, iTerm2 поставляется с установленным tmux, и для его запуска вы должны выполнить команду: tmux.


Особенности

После установки, если вы запустите окно терминала, единственное, что вы заметите, это наличие строки статуса внизу экрана:

terminal with tmux

Давайте посмотрим на самые общие функции. Полный список функций смотрите в ссылках в конце этой статьи.

Создание панелей

Или, другими словами, разделение главного окна. Прежде всего, я должен сказать, что каждая команда tmux имеет префикс с использованием следующей комбинации клавиш: <Ctrl-b>. Это можно изменить, но позже мы научимся и настраивать tmux.

Таким образом, для разбиения окна по вертикали (или на правой и левой панелях) должна использоваться следующая команда:

И для разбиения окна на горизонтальные панели вы можете использовать:

И результат должен выглядеть следующим образом:

splitting windows

Переход с одной панели на другую и размещение панелей

Чтобы переместить курсор с одной панели на другую (активирование панелей), используются клавиши со стрелками. Команда выглядит так:

Если вы хотите перейти на предыдущую активную панель, вы можете использовать следующую команду:

Кроме того, если вас не устраивает позиция панели, вы можете перемещать панели, используя команду:

Изменение размеров панелей

После создания вы можете изменить размер каждого окна на один шаг, используя:

С шагом в 5 клеток, используя:

Закрытие панели

Когда вы хотите закрыть текущую панель, вы можете использовать:

Создаем новое окно

Иногда вы можете создать другое окно, например, для работы над другим проектом. Это окно может содержать совершенно другой набор панелей с разными программами в каждом из них. Для этого выполните следующую команду:

Затем, если вы хотите перейти к следующему окну, вы можете использовать:

И вы можете перейти к предыдущему окну, используя:

Или вы можете выбрать окно в интерактивном режиме:

Закрытие окна

Чтобы закрыть текущее открытое окно, вы используете:

Режим копирования

Предположим, вы выполнили команду в терминале, и вывод команды не помещается на один экран, поэтому вам нужно прокрутить вверх, чтобы увидеть весь вывод. Если вы попытаетесь нажать клавишу «Вверх», это не прокрутит вас, так как он покажет вам только историю команд. Чтобы прокрутить экран вверх, используйте следующую команду:

Затем нажмите одну из следующих клавиш: Вверх, Вниз, PgUp или PgDn для прокрутки вверх или вниз.

Кроме того, находясь в этом режиме вы можете скопировать текст из истории, а затем вставить его с помощью:

Чтобы выйти из этого режима вставки, просто нажмите esc.

Так же есть много других команд, связанных с различными клавишами. Вы можете просмотреть все привязки клавиш:


Конфигурирование Tmux

tmux очень хорошо настраивается. Файл конфигурации находится либо в /etc/tmux.conf для системных настроек, либо (рекомендуется) в ~/.tmux.conf для пользовательских настроек.

Изменение клавиши префикса

Одной из первых вещей, которые меняют большинство пользователей, является привязка клавиши префикса (так как <Ctrl-b> не кажется таким уж удобным). Большинство пользователей используют <Ctrl-a>. Это можно сделать следующим образом:

Опция -g в первой команде сообщает tmux, что это глобальная опция, то есть она установлена для всех окон и сеансов.

Изменение привязок клавиш

Некоторые пользователи могут предпочесть Vi или Emacs как привязки для ключевых действий. Это делается с помощью:

Команда setw задает параметр для окна (влияет на все панели в окне).

Строка состояния

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

Чтобы отключить строку состояния, выполните следующую команду:

Или вы можете попробовать что-то вроде этого:

... это изменяет фон строки состояния на синий, цвет текста на белый и отображает слева от строки состояния имя хоста localhost, за которым следуют двоеточие и имя сеанса, за которым следует строка «at» и имя окна , двоеточие и, наконец, заголовок панели.

Вы также можете отобразить строку состояния внизу или вверху окна:

Для получения дополнительной информации о других параметрах конфигурации вы можете проверить раздел опций руководства.


Вывод

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

  • Руководство пользователя tmux
  • А так же tmux на Arch вики
Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.