tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).
Запуск tmux:
tmux
Для подключения к работающему экземпляру программы необходимо выполнить:
tmux attach
Сперва попытаться подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый:
tmux attach || tmux new
Стандартные команды
Управление окнами:
| Команда | Значение | |
|---|---|---|
ctrl+b | c | Создать новое окно |
ctrl+b | 0…9 | Перейти в определенное окно |
ctrl+b | n | Перейти в следующее окно |
ctrl+b | p | Перейти в предыдущее окно |
ctrl+b | l | Перейти в предыдущее активное окно |
ctrl+b | f | Поиск по названию окна |
ctrl+b | , | Переименовать текущее окно |
ctrl+b | . | Переместить текущее окно |
ctrl+b | w | Выбор окна из интерактивного списка |
ctrl+b | & | Закрыть текущее окно |
exit |
||
Управление панелями:
| Команда | Значение | |
|---|---|---|
ctrl+b | " | Разделить текущее окно на две панели по горизонтали |
ctrl+b | % | Разделить текущее окно на две панели по вертикали |
ctrl+b | →←↑↓ | Навигация между панелями |
ctrl+b | x | Закрыть текущую панель |
exit |
||
Режим прокрутки :
| Команда | Значение | |
|---|---|---|
ctrl+b | [ | Активирует режим прокрутки, после чего можно использовать клавиши со стрелками или pgUp pgDown |
ctrl+b | PgUp | Позволит сразу прокручивать страницу вверх |
q | Выход из режима «копирования» | |
Управление программой:
| Команда | Значение | |
|---|---|---|
ctrl+b | d | Отключиться |
Возможности конфигурационного файла
Пользовательский файл настроек должен быть расположен в ~/.tmux.conf, в то время как глобальный — в /etc/tmux.conf. Стандартные конфигурационные файлы размещены в директории /usr/share/tmux/.
Если вы используете 256-цветный терминал, то понадобится скорректировать его в tmux.
set -g default-terminal "screen-256color"
Установить возможность скроллинга до 10000 строк:
set -g history-limit 10000
Режим копирования на клавише «Esc»:
unbind [ bind Escape copy-mode
Переместить буфер обмена tmux в буфер обмена X:
bind-key C-y save-buffer /tmp/tmux-buffer \; run-shell "cat /tmp/tmux-buffer | xclip"
Часы, вызываемые Ctrl-b t:
set-window-option -g clock-mode-colour cyan set-window-option -g clock-mode-style 24
Отключить визуальную активность:
set -g visual-activity off set -g visual-bell off
Заголовок окна
set-option -g set-titles on set-option -g set-titles-string '#S:#I.#P #W' # window number,program name,active (or not) set-window-option -g automatic-rename on # auto name
Сообщения
set-window-option -g mode-bg magenta set-window-option -g mode-fg black set-option -g message-bg magenta set-option -g message-fg black
Панель состояния
set-option -g status-utf8 on set-option -g status-justify right set-option -g status-bg black set-option -g status-fg cyan set-option -g status-interval 5 set-option -g status-left-length 30 set-option -g status-left '#[fg=magenta]» #[fg=blue,bold]#T#[default]' set-option -g status-right '#[fg=cyan]»» #[fg=blue,bold]###S #[fg=magenta]%R %m-%d#(acpi | cut -d ',' -f 2)#[default]' set-option -g visual-activity on set-window-option -g monitor-activity on set-window-option -g window-status-current-fg white
Инициализация сеансов
Можно настроить tmux таким образом, чтобы он запускался с предопределённым набором окон, добавив следующие команды в ваш .tmux.conf:
new -n WindowName Command neww -n WindowName Command neww -n WindowName Command
Чтобы запустить сеанс с разделёнными окнами (панелями), добавьте команду splitw после neww, таким образом:
new -s SessionName -n WindowName Command neww -n foo/bar foo splitw -v -p 50 -t 0 bar selectw -t 1 selectp -t 0
откроет два окна, второе из которых будет называться foo/bar и будет разделено вертикально пополам с командой foo запущенной перед командой bar. Фокус будет передан второму окну(foo/bar), левой панели (foo).
Нумерация сеансов, окон и панелей начинается с нуля, если не указан параметр base-index со значением 1 в .tmux.conf
Чтобы управлять несколькими сеансами, подключайте раздельные файлы сеансов в конфигурационном файле:
# инициализация сеансов bind F source-file ~/.tmux/foo bind B source-file ~/.tmux/bar
Источники:
habrahabr.ru
wiki.archlinux.org
