2015-10-15 23:57:48 +03:00
|
|
|
|
---
|
|
|
|
|
category: tool
|
|
|
|
|
tool: tmux
|
|
|
|
|
contributors:
|
|
|
|
|
- ["mdln", "https://github.com/mdln"]
|
|
|
|
|
translators:
|
|
|
|
|
- ["Davydov Anton", "https://github.com/davydovanton"]
|
2016-03-09 00:40:29 +03:00
|
|
|
|
filename: LearnTmux-ru.txt
|
2015-10-15 23:57:48 +03:00
|
|
|
|
lang: ru-ru
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
[tmux](http://tmux.sourceforge.net) - терминальный мультиплексор.
|
|
|
|
|
Он позволяет создавать, получать доступ и контролировать любое
|
|
|
|
|
количество терминалов из единого окна.
|
2016-03-09 00:40:29 +03:00
|
|
|
|
Сессия tmux также может быть свернута в фоновый режим, и она
|
2015-10-15 23:57:48 +03:00
|
|
|
|
будет работать в фоне, а после к ней можно будет подключиться.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
tmux [command] # Запуск команды 'tmux'
|
|
|
|
|
# без какой-либо команды создаст новую сессию
|
|
|
|
|
|
|
|
|
|
new # Создать новую сессию
|
|
|
|
|
-s "Session" # Создать именованную сессию
|
|
|
|
|
-n "Window" # Создать именованное окно
|
|
|
|
|
-c "/dir" # Запустить сессию в конкретной директории
|
|
|
|
|
|
|
|
|
|
attach # Подключиться к последней/существующей сессии
|
2016-03-09 00:40:29 +03:00
|
|
|
|
-t "№" # Подключиться к определенной сессии
|
2015-10-15 23:57:48 +03:00
|
|
|
|
-d # Завершить определенную сессию
|
|
|
|
|
|
|
|
|
|
ls # Список открытых сессий
|
2016-03-09 00:40:29 +03:00
|
|
|
|
-a # Список всех открытых сессий
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
|
|
|
|
lsw # Список окон
|
|
|
|
|
-a # Список всех окон
|
|
|
|
|
-s # Список всех окон в сессии
|
|
|
|
|
|
|
|
|
|
lsp # Список панелей
|
|
|
|
|
-a # Список всех панелей
|
|
|
|
|
-s # Список всех панелей в сессии
|
|
|
|
|
-t # Список всех панелей для конкретного объекта
|
|
|
|
|
|
|
|
|
|
kill-window # Закрыть текущее окно
|
|
|
|
|
-t "#" # Закрыть конкретное окно
|
|
|
|
|
-a # Закрыть все окна
|
2016-03-09 00:40:29 +03:00
|
|
|
|
-a -t "#" # Закрыть все окна, кроме конкретного
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
|
|
|
|
kill-session # Завершить текущую сессию
|
|
|
|
|
-t "#" # Завершить конкретную сессию
|
|
|
|
|
-a # Завершить все сессии
|
2016-03-09 00:40:29 +03:00
|
|
|
|
-a -t "#" # Завершить все сессии, кроме конкретной
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
### "Горячие" клавиши
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
|
|
|
|
Способ, с помощью которого контролируется любая tmux
|
2016-03-09 00:40:29 +03:00
|
|
|
|
сессия, - комбинация клавиш, называемая 'Префиксом'.
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
(C-b) = Ctrl + b # 'Префикс' необходим для
|
|
|
|
|
# использования горячих клавиш
|
|
|
|
|
|
|
|
|
|
(M-1) = Meta + 1 -или- Alt + 1
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
? # Список всех горячих клавиш
|
|
|
|
|
: # Начать ввод в командной строке tmux
|
|
|
|
|
r # Принудительная перерисовка текущего клиента
|
|
|
|
|
c # Создать новое окно
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
! # Переместить текущую панель в отдельное окно
|
|
|
|
|
% # Разделить текущую панель на две: левую и правую
|
|
|
|
|
" # Разделить текущую панель на две: верхнюю и нижнюю
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
n # Переместиться на следующее окно
|
|
|
|
|
p # Переместиться на предыдущее окно
|
|
|
|
|
{ # Заменить текущую панель на предыдущую
|
|
|
|
|
} # Заменить текущую панель на следующую
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
s # Интерактивный выбор запущенных сессий
|
|
|
|
|
w # Интерактивный выбор текущего окна
|
|
|
|
|
от 0 до 9 # Выбрать окно номер 0..9
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
d # Отключить текущий клиент
|
|
|
|
|
D # Выбрать клиент, который будет отключен
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
& # Закрыть текущее окно
|
|
|
|
|
x # Закрыть текущую панель
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
Стрелки вверх, вниз # Переместиться на панель выше, ниже, левее
|
|
|
|
|
влево, вправо # или правее
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
M-1 to M-5 # Расставить панели:
|
|
|
|
|
# 1) выровнять по горизонтали
|
|
|
|
|
# 2) выровнять по вертикали
|
|
|
|
|
# 3) основное горизонтально
|
|
|
|
|
# 4) основное вертикально
|
|
|
|
|
# 5) мозаикой
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
C-Up, C-Down # Изменение размера текущей панели с шагом в одну
|
|
|
|
|
C-Left, C-Right # колонку
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
M-Up, M-Down # Изменение размера текущей панели с шагом в пять
|
|
|
|
|
M-Left, M-Right # колонок
|
2015-10-15 23:57:48 +03:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Настройка ~/.tmux.conf
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
Файл tmux.conf может быть использован для автоматической установки
|
2015-10-15 23:57:48 +03:00
|
|
|
|
опций при старте, как, например, .vimrc или init.el.
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
# Пример файла tmux.conf
|
|
|
|
|
# 2014.10
|
|
|
|
|
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
### Общее
|
2015-10-15 23:57:48 +03:00
|
|
|
|
###########################################################################
|
|
|
|
|
|
|
|
|
|
# Включить поддержку UTF-8
|
|
|
|
|
setw -g utf8 on
|
|
|
|
|
set-option -g status-utf8 on
|
|
|
|
|
|
|
|
|
|
# Установить лимит истории
|
|
|
|
|
set -g history-limit 2048
|
|
|
|
|
|
|
|
|
|
# Порядковый номер первой панели
|
|
|
|
|
set -g base-index 1
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
# Включить поддержку мыши
|
2015-10-15 23:57:48 +03:00
|
|
|
|
set-option -g mouse-select-pane on
|
|
|
|
|
|
|
|
|
|
# Принудительная перезагрузка конфигурационного файла
|
|
|
|
|
unbind r
|
|
|
|
|
bind r source-file ~/.tmux.conf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Горячие клавиши
|
|
|
|
|
###########################################################################
|
|
|
|
|
|
|
|
|
|
# Отменить комбинацию C-b как стандартный префикс
|
|
|
|
|
unbind C-b
|
|
|
|
|
|
|
|
|
|
# Установить новую комбинацию как префикс
|
|
|
|
|
set-option -g prefix `
|
|
|
|
|
|
|
|
|
|
# Вернуть предыдущее окно, если префикс был нажат два раза
|
|
|
|
|
bind C-a last-window
|
|
|
|
|
bind ` last-window
|
|
|
|
|
|
|
|
|
|
# Разрешить замену C-a и ` на F11/F12
|
|
|
|
|
bind F11 set-option -g prefix C-a
|
|
|
|
|
bind F12 set-option -g prefix `
|
|
|
|
|
|
|
|
|
|
# Настройки клавиш
|
|
|
|
|
setw -g mode-keys vi
|
|
|
|
|
set-option -g status-keys vi
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
# Перемещение между панелями, как в vim
|
2015-10-15 23:57:48 +03:00
|
|
|
|
bind h select-pane -L
|
|
|
|
|
bind j select-pane -D
|
|
|
|
|
bind k select-pane -U
|
|
|
|
|
bind l select-pane -R
|
|
|
|
|
|
|
|
|
|
# Переключить/Заменить окно
|
|
|
|
|
bind e previous-window
|
|
|
|
|
bind f next-window
|
|
|
|
|
bind E swap-window -t -1
|
|
|
|
|
bind F swap-window -t +1
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
# Комманды, упрощающие разделением панелей
|
2015-10-15 23:57:48 +03:00
|
|
|
|
bind = split-window -h
|
|
|
|
|
bind - split-window -v
|
|
|
|
|
unbind '"'
|
|
|
|
|
unbind %
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
# Активировать центральную сессию (когда вложенный tmux) для отправки команд
|
2015-10-15 23:57:48 +03:00
|
|
|
|
bind a send-prefix
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Цветовая схема
|
|
|
|
|
###########################################################################
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
# Цветовая палитра строки состояния
|
2015-10-15 23:57:48 +03:00
|
|
|
|
set-option -g status-justify left
|
|
|
|
|
set-option -g status-bg black
|
|
|
|
|
set-option -g status-fg white
|
|
|
|
|
set-option -g status-left-length 40
|
|
|
|
|
set-option -g status-right-length 80
|
|
|
|
|
|
|
|
|
|
# Цветовая палитра окантовки панели
|
|
|
|
|
set-option -g pane-active-border-fg green
|
|
|
|
|
set-option -g pane-active-border-bg black
|
|
|
|
|
set-option -g pane-border-fg white
|
|
|
|
|
set-option -g pane-border-bg black
|
|
|
|
|
|
|
|
|
|
# Цветовая палитра сообщений
|
|
|
|
|
set-option -g message-fg black
|
|
|
|
|
set-option -g message-bg green
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
# Цветовая палитра статус окна
|
2015-10-15 23:57:48 +03:00
|
|
|
|
setw -g window-status-bg black
|
|
|
|
|
setw -g window-status-current-fg green
|
|
|
|
|
setw -g window-status-bell-attr default
|
|
|
|
|
setw -g window-status-bell-fg red
|
|
|
|
|
setw -g window-status-content-attr default
|
|
|
|
|
setw -g window-status-content-fg yellow
|
|
|
|
|
setw -g window-status-activity-attr default
|
|
|
|
|
setw -g window-status-activity-fg yellow
|
|
|
|
|
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
### Интерфейс
|
2015-10-15 23:57:48 +03:00
|
|
|
|
###########################################################################
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
# Уведомления
|
2015-10-15 23:57:48 +03:00
|
|
|
|
setw -g monitor-activity on
|
|
|
|
|
set -g visual-activity on
|
|
|
|
|
set-option -g bell-action any
|
|
|
|
|
set-option -g visual-bell off
|
|
|
|
|
|
|
|
|
|
# Автоматическая установка заголовка окна
|
|
|
|
|
set-option -g set-titles on
|
|
|
|
|
set-option -g set-titles-string '#H:#S.#I.#P #W #T' # window number,program name,active (or not)
|
|
|
|
|
|
2016-03-09 00:40:29 +03:00
|
|
|
|
# Настройки строки состояния
|
2015-10-15 23:57:48 +03:00
|
|
|
|
set -g status-left "#[fg=red] #H#[fg=green]:#[fg=white]#S#[fg=green] |#[default]"
|
|
|
|
|
|
|
|
|
|
# Показывать системные характеристики в статусбаре
|
|
|
|
|
# Требует https://github.com/thewtex/tmux-mem-cpu-load/
|
|
|
|
|
set -g status-interval 4
|
|
|
|
|
set -g status-right "#[fg=green] | #[fg=white]#(tmux-mem-cpu-load)#[fg=green] | #[fg=cyan]%H:%M #[default]"
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Ссылки
|
|
|
|
|
|
|
|
|
|
[Tmux | Домашняя страница](http://tmux.sourceforge.net)
|
|
|
|
|
|
|
|
|
|
[Страница мануала Tmux](http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/tmux.1?query=tmux)
|
|
|
|
|
|
|
|
|
|
[Gentoo Wiki](http://wiki.gentoo.org/wiki/Tmux)
|
|
|
|
|
|
|
|
|
|
[Archlinux Wiki](https://wiki.archlinux.org/index.php/Tmux)
|
|
|
|
|
|
|
|
|
|
[Отображение CPU/MEM % в статусбаре](https://stackoverflow.com/questions/11558907/is-there-a-better-way-to-display-cpu-usage-in-tmux)
|