Operations

Консольный менеджер tmux: установка, настройка и управление

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

Установка

Ubuntu/Debian Linux

$ sudo apt-get install tmux

macOS

$ brew install tmux

Проверяем активные сессии.

$ tmux ls
0: 1 windows (created Fri Dec 7 22:03:05 2017) [197x55] (attached)

Основные действия с панелями и окнами.

Ctrl+b ”                   # разделить окно по горизонтали
Ctrl+b %                   # разделить окно по вертикали
Ctrl+b стрелка             # переключиться на панель
Ctrl+b (зажать) и стрелки  # изменить размер панели
Ctrl+b c                   # открыть новое окно
Ctrl+b n                   # переключиться на следующее окно
Ctrl+b p                   # переключиться на предыдущее окно
Ctrl+b N                   # переключиться на окно номер N

Настройка

Чтобы изменить настройки по умолчанию, создаём файл конфигурации.

$ touch ~/.tmux.conf

и добавляем в него

# Ctrl+a – более привычный для пользователей screen 
# (и тянуться указательным пальцем не так далеко).
unbind C-b
set -g prefix C-a

# Переключение между панелями одного окна 
# с помощью Alt и стрелок
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

# Мониторинг активности. Получать уведомление, если в каком-то из окон 
# произошли изменения (например, что-то было выдано в STDOUT) 
setw -g monitor-activity on
set -g visual-activity on

# Изменить цвет активного окна в панели уведомлений
set-window-option -g window-status-current-bg cyan

После внесения изменений – tmux необходимо перечитать конфигурацию.

tmux source-file ~/.tmux.conf

либо из командной строки самого tmux

:source-file ~/.tmux.conf

Другие опции

Все перечисленные ниже команды вызываются с помощью префикса (Ctrl+b по умолчанию), после чего – символ команды. Но так, как я применил вышеописанный конфиг, примеры представлены с использованием заданной комбинации клавиш Ctrl+a.

# Окна
Ctrl+a w     # список окон
Ctrl+a ,     # переименовать окно
Ctrl+a &     # “убить” окно

# Панели
Ctrl+a q      # отобразить номера панелей
Ctrl+a x      # убить панель
Ctrl+a пробел # переключить раскладку панелей
Ctrl+a {      # переместить панель влево
Ctrl+a }      # переместить панель вправо
Ctrl+a z      # увеличить/уменьшить панель (на всё окно)

#Другое
Ctrl+a t     # цифровые часы
Ctrl+a ?     # список команд
Ctrl+a :     # командная строка