На главную

Справочники

Шпаргалка tmux

Сессии, окна, панели, режим копирования и строки для ~/.tmux.conf. Впишите свой префикс — он подставится во все сочетания.

Подставить свои значения

Показано 77 из 77 строк.

Сессии

Сессия живёт на сервере tmux, пока её не убьют: отключились по SSH — процессы внутри продолжают работать. Все горячие клавиши начинаются с префикса: нажать и отпустить его, потом клавишу.

  • tmux

    Новая безымянная сессия.

  • tmux new -s work

    Новая сессия с именем.

  • tmux new -A -s work

    Подключиться к сессии, а если её нет — создать. Удобно для алиаса.

  • tmux ls

    Список сессий.

  • tmux attach -t work

    Подключиться к сессии; tmux a — к последней.

  • tmux attach -d -t work

    Подключиться и отключить всех остальных клиентов: окно подстроится под ваш размер.

  • Ctrl+b d

    Отключиться от сессии (detach), оставив её работать.

  • Ctrl+b s

    Выбрать сессию из списка с предпросмотром.

  • Ctrl+b $

    Переименовать текущую сессию.

  • Ctrl+b ( / Ctrl+b )

    Предыдущая / следующая сессия.

  • Ctrl+b L

    Вернуться в последнюю сессию.

  • tmux rename-session -t old new

    Переименовать сессию из командной строки.

  • tmux kill-session -t work

    Завершить сессию вместе со всеми процессами.

  • tmux kill-session -a

    Завершить все сессии, кроме текущей.

  • tmux kill-server

    Завершить всё: сервер tmux и все сессии.

Окна

Окно — это вкладка внутри сессии. Список окон виден в строке состояния внизу.

  • Ctrl+b c

    Новое окно.

  • Ctrl+b ,

    Переименовать окно.

  • Ctrl+b &

    Закрыть окно (спросит подтверждение).

  • Ctrl+b n / Ctrl+b p

    Следующее / предыдущее окно.

  • Ctrl+b 0…9

    Перейти к окну по номеру.

  • Ctrl+b '

    Перейти к окну по номеру, который спросят в строке ввода (для номеров больше 9).

  • Ctrl+b l

    Последнее активное окно.

  • Ctrl+b w

    Дерево сессий и окон с предпросмотром.

  • Ctrl+b f

    Найти окно по тексту на экране.

  • Ctrl+b .

    Переместить окно под другой номер.

  • tmux swap-window -s 2 -t 1

    Поменять окна местами.

  • tmux move-window -r

    Перенумеровать окна подряд, убрав дыры в номерах.

Панели

Обозначения сбивают с толку: % делит окно на левую и правую половины (split-window -h), а " — на верхнюю и нижнюю (split-window -v).

  • Ctrl+b %

    Разделить окно на левую и правую панели.

  • Ctrl+b "

    Разделить окно на верхнюю и нижнюю панели.

  • Ctrl+b ←↑→↓

    Перейти в соседнюю панель стрелкой.

  • Ctrl+b o

    Следующая панель по кругу.

  • Ctrl+b ;

    Предыдущая активная панель.

  • Ctrl+b q

    Показать номера панелей; нажать цифру, пока они видны, — перейти.

  • Ctrl+b z

    Развернуть панель на всё окно и обратно (zoom).

  • Ctrl+b x

    Закрыть панель (спросит подтверждение).

  • Ctrl+b !

    Вынести панель в отдельное окно.

  • Ctrl+b { / Ctrl+b }

    Поменять панель местами с предыдущей / следующей.

  • Ctrl+b Ctrl+o

    Повернуть панели окна по кругу.

  • Ctrl+b Пробел

    Следующая готовая раскладка панелей.

  • Ctrl+b Alt+1…Alt+5

    Раскладки: в ряд, в столбец, главная сверху, главная слева, плиткой.

  • Ctrl+b Ctrl+стрелка

    Изменить размер панели на одну ячейку.

  • Ctrl+b Alt+стрелка

    Изменить размер панели на пять ячеек.

  • tmux resize-pane -D 10

    Растянуть панель вниз на 10 строк; -U, -L, -R — в другие стороны.

  • tmux select-layout tiled

    Раскладка плиткой: все панели одного размера.

  • tmux setw synchronize-panes on

    Набор с клавиатуры уходит во все панели окна сразу — например, на несколько серверов.

Прокрутка и копирование

Колесо мыши в tmux по умолчанию не прокручивает историю — для этого есть режим копирования. Клавиши внутри него зависят от mode-keys: emacs (по умолчанию) или vi.

  • Ctrl+b [

    Войти в режим копирования и листать историю; q — выйти.

  • Ctrl+b PgUp

    Войти в режим копирования сразу с прокруткой на страницу вверх.

  • Ctrl+Пробел … Alt+w

    Emacs-режим: начать выделение и скопировать в буфер tmux.

  • Пробел … Enter

    Vi-режим: начать выделение и скопировать в буфер tmux.

  • / и ?

    Vi-режим: поиск вниз и вверх; n — следующее совпадение.

  • Ctrl+s и Ctrl+r

    Emacs-режим: поиск вперёд и назад.

  • Ctrl+b ]

    Вставить последний скопированный буфер.

  • Ctrl+b =

    Выбрать буфер из списка и вставить.

  • Ctrl+b #

    Показать все буферы.

  • tmux capture-pane -p -S -3000 > out.txt

    Сохранить последние 3000 строк панели в файл.

Команды и скрипты

  • Ctrl+b :

    Командная строка tmux: сюда вводятся команды без слова tmux.

  • Ctrl+b ?

    Список всех привязанных клавиш.

  • Ctrl+b t

    Большие часы на всю панель.

  • Ctrl+b ~

    Последние сообщения tmux.

  • tmux new -d -s work "npm run build"

    Запустить долгую команду в фоновой сессии и сразу вернуться в шелл.

  • tmux send-keys -t work:0 "npm run dev" Enter

    Набрать команду в окне сессии со стороны — основа скриптов раскладки.

  • tmux split-window -h -c "#{pane_current_path}"

    Новая панель в той же папке, что и текущая.

  • tmux display -p '#S:#I.#P'

    Напечатать сессию, окно и панель, где вы сейчас.

  • tmux list-keys

    Все привязки клавиш с их командами.

  • tmux source-file ~/.tmux.conf

    Перечитать конфиг без перезапуска.

~/.tmux.conf

Строки для конфига. После правки — tmux source-file ~/.tmux.conf или перезапуск сервера.

  • set -g prefix C-a unbind C-b bind C-a send-prefix

    Префикс Ctrl+a, как в screen; двойное нажатие отправит Ctrl+a программе.

  • set -g mouse on

    Мышь: выбор панели, изменение размера и прокрутка колесом (tmux 2.1+).

  • set -g base-index 1 setw -g pane-base-index 1

    Нумерация окон и панелей с единицы — ближе к цифрам на клавиатуре.

  • set -g renumber-windows on

    Перенумеровывать окна после закрытия одного из них.

  • set -g history-limit 50000

    Длиннее история прокрутки (по умолчанию 2000 строк).

  • setw -g mode-keys vi

    Клавиши vi в режиме копирования.

  • bind -T copy-mode-vi v send -X begin-selection bind -T copy-mode-vi y send -X copy-selection-and-cancel

    v и y в режиме копирования — как в Vim.

  • set -sg escape-time 10

    Убрать задержку после Esc — иначе Vim внутри tmux тормозит при выходе из режима вставки.

  • set -g default-terminal "tmux-256color"

    256 цветов и корректные курсив и подчёркивание.

  • bind | split-window -h -c "#{pane_current_path}" bind - split-window -v -c "#{pane_current_path}"

    Запоминающиеся клавиши деления с сохранением текущей папки.

  • bind r source-file ~/.tmux.conf \; display "Конфиг перечитан"

    Перечитать конфиг по префиксу и r.

  • set -g set-clipboard on

    Отдавать скопированное в системный буфер через OSC 52, если терминал это умеет.