---
tags: [cheatsheet, tooling]
verified: 2026-09-01
---

# tmux Cheat Sheet

Prefix по умолчанию: `Ctrl-b`. Все биндинги ниже предполагают нажатие prefix перед указанной клавишей, если не указано иное.
Для Kitty: `export TERM=xterm-256color`

## Sessions

| Клавиша | Действие |
|---------|----------|
| `d` | Detach от сессии |
| `s` | Список сессий (интерактивный) |
| `$` | Переименовать текущую сессию |
| `(` / `)` | Предыдущая / следующая сессия |
| `L` | Переключиться на последнюю сессию |

## Windows (вкладки)

| Клавиша | Действие |
|---------|----------|
| `c` | Создать новое окно |
| `,` | Переименовать текущее окно |
| `w` | Список окон (интерактивный) |
| `n` / `p` | Следующее / предыдущее окно |
| `0-9` | Перейти к окну N |
| `l` | Переключиться на последнее активное окно |
| `&` | Закрыть текущее окно (с подтверждением) |
| `f` | Найти окно по имени |

## Panes

| Клавиша | Действие |
|---------|----------|
| `%` | Разделить горизонтально (left/right) |
| `"` | Разделить вертикально (top/bottom) |
| `o` | Циклический переход между panes |
| `q` | Показать номера panes, нажать номер для перехода |
| `x` | Закрыть текущий pane |
| `z` | Toggle zoom (fullscreen для pane) |
| `!` | Вынести pane в отдельное окно |
| `{` / `}` | Переместить pane влево / вправо |
| `Space` | Циклическая смена layout'ов |
| `Arrow` | Навигация между panes |
| `Ctrl-Arrow` | Resize на 1 ячейку |
| `Alt-Arrow` | Resize на 5 ячеек |

## Copy Mode (vi keys)

Включается через `set -g mode-keys vi` в конфиге.

| Клавиша | Действие |
|---------|----------|
| `[` | Войти в copy mode |
| `q` | Выйти из copy mode |
| `/` / `?` | Поиск вперёд / назад |
| `n` / `N` | Следующее / предыдущее совпадение |
| `Space` | Начать выделение |
| `Enter` | Скопировать выделение и выйти |
| `]` | Вставить буфер |
| `v` | Toggle прямоугольное выделение |
| `g` / `G` | В начало / конец |

## Командная строка (без prefix)

```bash
tmux                        # Новая сессия
tmux new -s name            # Новая именованная сессия
tmux ls                     # Список сессий
tmux a                      # Attach к последней сессии
tmux a -t name              # Attach к именованной сессии
tmux kill-session -t name   # Убить сессию
tmux kill-server            # Убить весь tmux
```

## Полезные команды (prefix + `:`)

```text
setw synchronize-panes      # Toggle синхронного ввода во все panes
swap-window -t N            # Поменять текущее окно с окном N
move-window -t N            # Переместить окно на позицию N
source ~/.tmux.conf         # Перечитать конфиг
capture-pane -S -3000       # Захватить scrollback
save-buffer ~/out.txt       # Сохранить буфер в файл
```

## ~/.tmux.conf — базовая настройка

```bash
# Prefix на Ctrl-a (опционально, кому-то удобнее)
# unbind C-b
# set -g prefix C-a
# bind C-a send-prefix

# Основное
set -g mouse on                          # Мышь
set -g base-index 1                      # Окна начинаются с 1
setw -g pane-base-index 1                # Panes тоже с 1
set -g default-terminal "tmux-256color"  # Корректные цвета
set -g history-limit 50000              # Scrollback
set -sg escape-time 0                    # Без задержки ESC (важно для vim/neovim)
setw -g mode-keys vi                     # Vi-режим в copy mode

# Быстрый reload
bind r source-file ~/.tmux.conf \; display "Config reloaded"

# Интуитивный split (по аналогии с направлением)
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"

# Навигация между panes через Alt-Arrow без prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
```

---

## Связанные заметки

- [Kitty terminal guide](./kitty-guide.md) — терминал, в котором часто запускается tmux (для kitty: `export TERM=xterm-256color`)
- [Fish Shell — справка](./fish-reference.md) — оболочка, запускаемая в панелях tmux
- [Neovim: рабочая справка](./nvim-cheatsheet.md) — редактор из того же рабочего набора
- [CLI-инструменты поиска: ripgrep, fd, fzf, jq](./cli-search-toolkit.md) — fzf в плавающей панели tmux и конфликт префикса `Ctrl-B` с биндингами fzf-git
- [Hyprland: горячие клавиши и скретчпады](./setups/cachyos-desktop/hyprland-keybindings.md) — слой клавиш композитора под tmux
