Tmux: Полная шпаргалка по командам и горячим клавишам для эффективной работы в терминале
Вы когда-нибудь теряли важные процессы из-за разрыва SSH-соединения? Или ваш терминал превращался в хаос из множества открытых вкладок? Есть решение, которое кардинально изменит ваш рабочий процесс.
Tmux — это ваш личный супергерой для работы в командной строке. Этот терминальный мультиплексор позволяет запускать несколько сессий в одном окне, безопасно отключаться и возвращаться к работе, не теряя ни бита данных.
Представьте: вы запускаете долгую компиляцию, отключаетесь от сервера, а позже возвращаетесь и видите результат. Всё это время процесс работал в фоне. Это лишь одна из суперспособностей tmux.
В этом руководстве вы найдете готовую шпаргалку, которая выведет вашу эффективность на новый уровень. Мы разберем установку, все основные команды и, самое главное, горячие клавиши, которые экономят часы времени.
Вы научитесь создавать сессии с понятными именами, дробить окно на удобные панели, легко копировать текст и управлять всем с клавиатуры. Мы даже покажем, как включить поддержку мыши для полного контроля.
Больше не нужно запоминать десятки сложных команд. Основные действия выполняются по интуитивным сочетаниям клавиш, например, Ctrl+B. Готовы превратить ваш терминал в мощный и организованный рабочий стол? Тогда погружайтесь в статью и откройте для себя мир безграничных возможностей tmux!
Tmux - это терминальный мультиплексор или иными словами, вы можете в одном терминале запустить несколько терминальных сессий и переключаться между ними или даже разместить их в одном окне, а также отключиться от сессии оставив её работать в фоне, а затем вернуться и посмотреть результат, это может быть очень удобно при работе по SSH. Если вы раньше пользовались утилитой screen, то tmux - это её аналог, который имеет намного больше функций.
Эта статья - небольшая шпаргалка по Tmux, в которой мы разберем установку программы, основные её возможности и команды, а также некоторые приемы использования. После прочтения статьи вы сможете полноценно пользоваться утилитой.
Содержание статьи
Установка Tmux
Здесь все просто. Для установки программы в Ubuntu выполните следующую команду:
sudo apt install tmux

А для установки в CentOS:
sudo yum install tmux
Синтаксис и опции команды Tmux
Синтаксис команды предельно простой, для создания новой сессии достаточно запустить утилиту без параметров. Для подключения к уже существующей придется использовать дополнительные опции. Вот основной синтаксис:
tmux команда опции
Что касается опций, то в большинстве вам придется использовать только две - это -t (target) - которая указывает цель, к которой будет применяться команда, например, идентификатор сессии или подключенного клиента, а также -s (session) - который обычно используется для обозначения источника, над которым будет выполняться действие.
Команды tmux для управления сессиями, которые вы можете использовать:
- attach-session (attach) - подключиться к уже существующей сессии. В параметре необходимо передать опцию -t и идентификатор сессии;
- detach-session (detach) - отключить всех клиентов (или переданного с помощью опции -t) от сессии, переданной в опции -s;
- has-session - проверить существует ли сессия, аналогично, надо передать идентификатор сессии;
- kill-server - остановить все запущенные сессии;
- kill-session - завершить сессию переданную в параметре -t;
- list-clients - посмотреть клиентов, подключенных к сессии -t;
- list-sessions (ls) - вывести список всех запущенных сессий;
- new-session - создать новую сессию, можно передать имя сессии в опции -s и стартовую директорию в опции -c;
- rename-session - переименовать сессию, нужно передать идентификатор сессии и новое имя;
Конечно, у tmux намного больше команд, но мы не будем рассматривать их в этой статье. В основном, команды будут использоваться для подключения и отключения от сессий, все остальные действия выполняются с помощью горячих клавиш и их тут тоже достаточно.
По умолчанию для активации сочетания клавиш нужно нажать Ctrl+B, отпустить, а потом нажать нужную клавишу. Вот основные сочетания клавиш tmux, которые вам понадобятся:
- Ctrl+b c - создать новое окно;
- Ctrl+b w - выбрать окно из списка;
- Ctrl+b 0-9 - открыть окно по его номеру;
- Ctrl+b , - переименовать текущее окно;
- Ctrl+b % - разделить текущую панель по горизонтали;
- Ctrl+b " - разделить текущую панель по вертикали;
- Ctrl+b стрелка - перейти на панель, находящуюся в стороне, куда указывает стрелка;
- Ctrl+b Ctrl+стрелка - изменить размер текущей панели;
- Ctrl+b o - перейти на следующую панель;
- Ctrl+b ; - переключаться между текущей и предыдущей панелью;
- Ctrl+b x - закрыть текущую панель;
- Ctrl+b [ - войти в режим копирования (подробнее ниже);
- Ctrl+b ] - вставить из внутреннего буфера обмена tmux;
- Ctrl+b d - отключится от текущей сессии;
- Ctrl+b : - открыть командную строку.
Для начала работы этих горячих клавиш будет достаточно. Шпаргалка tmux завершена, теперь перейдем к примерам работы с программой.
Как пользоваться tmux
1. Создание сессии
Чтобы создать новую сессию достаточно выполнить команду без параметров:
tmux
Также можно создать сессию командой new-session и задать ей удобное имя:
tmux new-session -s losst

2. Разделение окна на панели
Окно сессии можно разделить на несколько панелей. Чтобы выполнить разделение по горизонтали нажмите Ctrl+b отпустите, а затем нажмите Shift+":

Аналогично можно разделить панель по вертикали, нажав Ctrl+b, а затем Shift+%:

Размер активной панели можно менять нажав Ctrl+b, а потом Ctrl и стрелка:

А для переключения между панелями используйте клавиши Ctrl+b и стрелка. Сначала не привычно, но потом удобно.
3. Поддержка мышки
По умолчанию поддержка мышки отключена, но если вы работаете в графическом окружении, вы можете её включить. Это даст несколько преимуществ: вы сможете выбирать активную панель мышкой, копировать текст во внутренний буфер обмена, менять размер панелей, использовать прокрутку для просмотра истории вывода и так далее. Для этого откройте файл ~/.tmux.conf и добавьте туда следующие строки:
vi ~/.tmux.conf
set-option -g -q mouse on
bind-key -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
bind-key -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"

Сохраните изменения, нажмите Ctrl+b :, а потом выполните такую команду чтобы перезагрузить tmux:
source ~/.tmux.conf

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

Если вы хотите иметь возможность скопировать в системный буфер обмена, перед тем как выполнять действия мышкой зажмите Shift:

Кроме того, в tmux есть управление копированием и вставкой с помощью клавиш. Для перехода в режим копирования нажмите Ctrl+B [, затем переместите курсор к нужному месту с помощью стрелок. Кстати, этот режим можно использовать также для прокрутки. Потом нажмите Ctrl+пробел для начала выделения, выделите нужный фрагмент стрелками и нажмите Ctrl+w для копирования.

Чтобы вставить текст из внутреннего буфера обмена нужно нажать сочетание клавиш Ctrl+b ]. Для выхода из режима копирования используйте q или Esc.
5. Окна tmux
Кроме панелей в tmux можно открывать окна. Это аналог рабочих столов в Linux. Каждое окно привязано к определенной цифровой кнопке и имеет свой набор панелей. Для создания нового окна нажмите Ctrl+b c:

Список окон выводится внизу окна терминала. Для переключения на нужное окно нажмите Ctrl+b и номер окна.
6. Отключение от сессии
Чтобы отключиться от текущей сессии достаточно нажать сочетание клавиш Ctrl+b d.
После отключения все запущенные в сессии программы продолжат работать и вы всегда сможете снова подключиться и посмотреть их вывод. Это удобно при подключении по SSH, которое всегда может разорваться.
7. Подключение к сессии
Посмотреть список сессий можно командой ls:
tmux ls

А для подключения используйте attach:
tmux attach -t losst

Ещё можно посмотреть список клиентов, подключенных к сессии:
tmux list-clients

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