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

  • shpargalka_tmux.txt
  • Последние изменения: 2015/09/24 00:00
  • (внешнее изменение)