Поделиться страницей

Изучите X за Y минут

Где X=tmux

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

  tmux [command]     # Запуск команды 'tmux'
                     # без какой-либо команды создаст новую сессию

    new              # Создать новую сессию
     -s "Session"    # Создать именованную сессию
     -n "Window"     # Создать именованное окно
     -c "/dir"       # Запустить сессию в конкретной директории

    attach           # Подключиться к последней/существующей сессии
     -t "№"          # Подключиться к определенной сессии
     -d              # Завершить определенную сессию

    ls               # Список открытых сессий
     -a              # Список всех открытых сессий

    lsw              # Список окон
     -a              # Список всех окон
     -s              # Список всех окон в сессии

    lsp              # Список панелей
     -a              # Список всех панелей
     -s              # Список всех панелей в сессии
     -t              # Список всех панелей для конкретного объекта

    kill-window      # Закрыть текущее окно
     -t "#"          # Закрыть конкретное окно
     -a              # Закрыть все окна
     -a -t "#"       # Закрыть все окна, кроме конкретного

    kill-session     # Завершить текущую сессию
     -t "#"          # Завершить конкретную сессию
     -a              # Завершить все сессии
     -a -t "#"       # Завершить все сессии, кроме конкретной

“Горячие” клавиши

Способ, с помощью которого контролируется любая tmux сессия, - комбинация клавиш, называемая ‘Префиксом’.

----------------------------------------------------------------------
  (C-b) = Ctrl + b    # 'Префикс' необходим для
                      # использования горячих клавиш

  (M-1) = Meta + 1 -или- Alt + 1
----------------------------------------------------------------------

  ?                    # Список всех горячих клавиш
  :                    # Начать ввод в командной строке tmux
  r                    # Принудительная перерисовка текущего клиента
  c                    # Создать новое окно

  !                    # Переместить текущую панель в отдельное окно
  %                    # Разделить текущую панель на две: левую и правую
  "                    # Разделить текущую панель на две: верхнюю и нижнюю

  n                    # Переместиться на следующее окно
  p                    # Переместиться на предыдущее окно
  {                    # Заменить текущую панель на предыдущую
  }                    # Заменить текущую панель на следующую

  s                    # Интерактивный выбор запущенных сессий
  w                    # Интерактивный выбор текущего окна
  от 0 до 9            # Выбрать окно номер 0..9

  d                    # Отключить текущий клиент
  D                    # Выбрать клиент, который будет отключен

  &                    # Закрыть текущее окно
  x                    # Закрыть текущую панель

  Стрелки вверх, вниз  # Переместиться на панель выше, ниже, левее
  влево, вправо        # или правее

  M-1 to M-5           # Расставить панели:
                         # 1) выровнять по горизонтали
                         # 2) выровнять по вертикали
                         # 3) основное горизонтально
                         # 4) основное вертикально
                         # 5) мозаикой

  C-Up, C-Down         # Изменение размера текущей панели с шагом в одну
  C-Left, C-Right      # колонку

  M-Up, M-Down         # Изменение размера текущей панели с шагом в пять
  M-Left, M-Right      # колонок

Настройка ~/.tmux.conf

Файл tmux.conf может быть использован для автоматической установки опций при старте, как, например, .vimrc или init.el.

# Пример файла tmux.conf
# 2014.10


### Общее
###########################################################################

# Включить поддержку UTF-8
setw -g utf8 on
set-option -g status-utf8 on

# Установить лимит истории
set -g history-limit 2048

# Порядковый номер первой панели
set -g base-index 1

# Включить поддержку мыши
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

# Перемещение между панелями, как в vim
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

# Комманды, упрощающие разделением панелей
bind = split-window -h
bind - split-window -v
unbind '"'
unbind %

# Активировать центральную сессию (когда вложенный tmux) для отправки команд
bind a send-prefix


### Цветовая схема
###########################################################################

# Цветовая палитра строки состояния
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

# Цветовая палитра статус окна
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


### Интерфейс
###########################################################################

# Уведомления
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)

# Настройки строки состояния
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 | Домашняя страница

Страница мануала Tmux

Gentoo Wiki

Archlinux Wiki

Отображение CPU/MEM % в статус баре


Хотите предложить свой перевод? Может быть, улучшение перевода? Откройте Issue в репозитории GitHub или сделайте pull request сами!

Первоначально предоставлено автором mdln, и обновлено 1 автором.