Базовая настройка и работа с tmux
Table of contents
Introduction
tmux — свободная консольная утилита-мультиплексор, предоставляющая пользователю доступ к нескольким терминалам в рамках одного экрана. tmux может быть отключен от экрана: в этом случае он продолжит исполняться в фоновом режиме; имеется возможность вновь подключиться к
tmux
, находящемуся в фоне.
Установка на Ubuntu
sudo apt-get install tmux
Конфигурация tmux
Для настройки tmux
создаем файл конфигурации в домашней директории:
nano ~/.tmux.conf
Добавим в созданный файл опцию для поддержки мышки:
# Make mouse useful
set -g mouse on
Начиная с версии 2.1, данная опция включит режим мышки, который позволит использовать скролл, менять размеры панелей перетаскиванием и выбирать панели с помощью мышки.
Основные параметры и комбинации клавиш
Управлять tmux
можно как командами, так и комбинациями клавиш в уже открытом окне tmux
.
Для того, чтобы использовать комбинации клавиш, необходимо сначала выполнить префикс:
CTRL + b
И затем нажать нужную клавишу.
Список поддерживаемых команд
tmux list-commands
Дополнительная информация
man tmux
Запуск tmux с параметрами по умолчанию
tmux
Запуск с заданными параметрами
tmux new-session -d -s <SESSION> -n <WINDOW_NAME>
где <SESSION>
- название новой сессии, а <WINDOW_NAME>
- название окна.
Вывод списка сессий
tmux ls
Параметр -d
создает detach
-сессию, к которой можно присоединиться следующим образом:
CTRL + b > s
tmux attach-session -t <SESSION>
Отключение от сессии
CTRL + b > d
tmux detach
Завершение сессии
tmux kill-session -t <SESSION>
Далее рассмотрим, как в рамках сессии можно создавать несколько окон, а в рамках окон - несколько панелей.
Создание нового окна
CTRL + b > c
tmux new-window -t <SESSION>:<INDEX> -n <WINDOW_NAME>
где <INDEX>
- индекс нового окна
Работа с окнами
Список окон: CTRL + b > w
Следующее окно: CTRL + b > n
Предыдущее окно: CTRL + b > p
Переключение на окно с определенным индексом: CTRL + b > <INDEX>
Переименование окна: CTRL + b > ,
Закрытие окна: CTRL + b > x
или exit
Создание панели
Панели создаются посредством разделения окна на участки заданного размера. Размер панели можно регулировать как комбинацией клавиш, так и перетаскиванием границы мышью, т.к. мы включили ее поддержку в настройках.
Деление горизонтально:
CTRL + b > "
tmux split-window -h
или с использованием alias
:
tmux splitw -h
Деление вертикально:
CTRL + b > %
tmux split-window -v
или с использованием alias
:
tmux splitw -v
Также эти команды поддерживают параметр -p
, который позволяет указать разбиение в процентах.
Переключаться между панелями можно мышью или же следующим образом:
CTRL + b > Arrow key
CTRL + b > ALT + Arrow key
tmux selectp -t <INDEX>
Зум панелей
Т.к. панель занимает часть окна, то не всегда удобно ее использовать для чтения большого количества информации. Также при многострочном селекте текст выделяется и на соседней панели. В этих двух случаях нам поможет зум панели до размера окна и обратно с помощью клавиш:
CTRL + b > z
Автоматизация работы
Каждый раз набирать команды или сочетания клавиш неудобно. Поэтому можно написать простой скрипт, который будет создавать сессию с новым окном, а в этом новом окне создавать 4 панели и в двух нижних панелях запускать команды на исполнение:
#!/bin/bash
SESSION="work"
WINDOW_NAME="main"
# Start tmux
tmux start-server
# Create a new tmux session
tmux new-session -d -s $SESSION -n $WINDOW_NAME
# Create 4 panels
tmux selectp -t 0
tmux splitw -h -p 50
tmux selectp -t 0
tmux splitw -v -p 50
tmux selectp -t 2
tmux splitw -v -p 50
# Exec command in panel #1
tmux selectp -t 1
tmux send-keys "who" C-m
# Exec command in panel #3
tmux selectp -t 3
tmux send-keys "htop" C-m
# Attach to created session
tmux attach-session -t $SESSION
Мы рассмотрели базовые команды для работы с tmux
, а также пример автоматизации для подготовки окон к работе.
Дата редактирования : 2020-11-12 00:37:28
Автор : Rosko