Tmux
Перейти к навигации
Перейти к поиску
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).
ru man
Минималистическая шпаргалка
Очень хороший способ запустить tmux:
tmux attach || tmux new — делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.
После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)
В одной сессии может быть сколько угодно окошек:
Ctrl+b c — создать окошко; Ctrl+b 0...9 — перейти в такое-то окошко; Ctrl+b p — перейти в предыдущее окошко; Ctrl+b n — перейти в следующее окошко; Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее); Ctrl+b & — закрыть окошко (а можно просто набрать exit в терминале).
В одном окошке может быть много панелей:
Ctrl+b % — разделить текущую панель на две, по вертикали; Ctrl+b " — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2); Ctrl+b →←↑↓ — переходить между панелями; Ctrl+b x — закрыть панель (а можно просто набрать exit в терминале).
Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp — вход в «режим копирования», после чего: PgUp, PgDown — скроллинг; q — выход из «режима копирования».
Конфиг №1
unbind C-b # Отключим bind key по умолчанию set -g prefix C-q # Новый bind key - Ctrl-z bind-key -n C-n next # Следующий таб bind-key -n C-p prev # Предыдущий таб set -g base-index 1 # Начинать отсчёт окон с 1 а не с 0 # Переход на окно по F1-F10 bind-key -n F1 select-window -t 1 bind-key -n F2 select-window -t 2 bind-key -n F3 select-window -t 3 bind-key -n F4 select-window -t 4 bind-key -n F5 select-window -t 5 bind-key -n F6 select-window -t 6 bind-key -n F7 select-window -t 7 bind-key -n F8 select-window -t 8 bind-key -n F9 select-window -t 9 bind-key -n F10 select-window -t 0 unbind % # Выключаем клавишу % для горизонтального разбиения окна bind H split-window -h # Назначаем клавишу H unbind '"' # Выключаем клавишу " для вертикального разбиения окна bind V split-window -v # Назначаем клавишу V
Конфиг №2
set-window-option -g mode-keys vi set-option -g status-keys vi set-window-option -g utf8 on set-window-option -g mode-mouse 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
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 -g visual-activity off set -g visual-bell off set -g base-index 1
set-option -g status-utf8 on set-option -g status-justify left set-option -g status-bg black set-option -g status-fg cyan set-option -g status-interval 5
set-option -g status-right-length 30 set-option -g status-right '#[fg=magenta]» #[fg=blue,bold]#T#[default]' #set-option -g status-left '#[fg=cyan]»» #[fg=blue,bold]###S #[fg=magenta]%R %m-%d#(acpi | cut -d ',' -f 2)#[default]' #set-option -g status-left '#[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 colour154 set-window-option -g window-status-fg colour243
set-window-option -g clock-mode-colour cyan set-window-option -g clock-mode-style 24
set -g terminal-overrides 'xterm*:smcup@:rmcup@' set -s escape-time 1 set -g default-terminal «screen-256color»
set -g prefix ` bind ` send-prefix bind-key ` last-window unbind % unbind '"' unbind x unbind C-o unbind k unbind j unbind h unbind l
bind-key H split-window -h bind-key V split-window -v bind-key a send-keys ` bind-key X kill-pane bind-key K confirm-before kill-window bind-key N rotate-window -U bind-key P rotate-window -D
bind-key j select-pane -D bind-key k select-pane -U bind-key h select-pane -L bind-key l select-pane -R
bind-key F swap-pane -U bind-key D swap-pane -D