Skip to content

Instantly share code, notes, and snippets.

@sergebulaev
Created January 14, 2026 11:46
Show Gist options
  • Select an option

  • Save sergebulaev/9be1b840e16501ab5f033cc57142f5de to your computer and use it in GitHub Desktop.

Select an option

Save sergebulaev/9be1b840e16501ab5f033cc57142f5de to your computer and use it in GitHub Desktop.
Tmux config by Sergey Bulaev (bulaev.ai) | Telegram: https://t.me/sergiobulaev
# ============================================================================
# Конфиг tmux от Сергея Булаева (bulaev.ai)
# Телеграм канал на русском: https://t.me/sergiobulaev
# ============================================================================
#
# УСТАНОВКА:
# 1. Установить tmux: sudo apt install tmux (Ubuntu) / brew install tmux (Mac)
# 2. Установить TPM (менеджер плагинов):
# git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# 3. Скопировать этот файл в ~/.tmux.conf
# 4. Запустить tmux и нажать: Prefix + I (установит плагины)
#
# ПЕРЕЗАГРУЗКА КОНФИГА:
# - Вне tmux: tmux source ~/.tmux.conf
# - Внутри: Prefix + R (от плагина sensible)
#
# ОБНОВЛЕНИЕ ВНУТРИ СУЩЕСТВУЮЩИХ СЕССИЙ:
# - Prefix + R перезагрузит конфиг в текущей сессии
# - Новые окна/панели получат новые настройки автоматически
# - Для полного обновления: закрыть tmux и открыть заново
# - Или: tmux kill-server && tmux (убьёт все сессии!)
#
# ПОЛЕЗНЫЕ КОМАНДЫ:
# Prefix = Ctrl+b (по умолчанию)
# Prefix + I — установить плагины
# Prefix + U — обновить плагины
# Prefix + R — перезагрузить конфиг
# Prefix + Ctrl+s — сохранить сессию (resurrect)
# Prefix + Ctrl+r — восстановить сессию (resurrect)
#
# ============================================================================
# --- ПЛАГИНЫ ---
set -g @plugin 'tmux-plugins/tpm' # TPM — менеджер плагинов tmux
set -g @plugin 'tmux-plugins/tmux-resurrect' # Сохранение/восстановление сессий после перезагрузки
set -g @plugin 'tmux-plugins/tmux-continuum' # Автосохранение сессий каждые 15 минут
set -g @plugin 'tmux-plugins/tmux-sensible' # Разумные дефолты (escape-time 0, history 50000 и др.)
set -g @plugin 'tmux-plugins/tmux-yank' # Копирование в системный буфер обмена
set -g @plugin 'christoomey/vim-tmux-navigator' # Навигация Ctrl+hjkl между vim и tmux панелями
set -g @plugin 'dreamsofcode-io/catppuccin-tmux' # Красивая тема Catppuccin
# --- НАСТРОЙКИ CONTINUUM ---
set -g @continuum-restore 'on' # Автовосстановление последней сессии при запуске tmux
set -g @continuum-boot 'on' # Автозапуск tmux при загрузке системы
# --- ТЕРМИНАЛ И МЫШЬ ---
set-option -sa terminal-overrides ",xterm*:Tc" # Включить True Color (16 миллионов цветов)
set -g mouse on # Включить мышь: скролл, клик по панелям, ресайз
# --- РАЗДЕЛЕНИЕ ОКОН (СПЛИТЫ) ---
bind '"' split-window -v -c "#{pane_current_path}" # \" → разделить по горизонтали (сохраняя путь)
bind % split-window -h -c "#{pane_current_path}" # % → разделить по вертикали (сохраняя путь)
bind | split-window -h -c "#{pane_current_path}" # | → разделить по вертикали (альтернатива)
bind - split-window -v -c "#{pane_current_path}" # - → разделить по горизонтали (альтернатива)
# --- РЕЖИМ КОПИРОВАНИЯ (VI-STYLE) ---
set -g mode-keys vi # Использовать Vi-клавиши в режиме копирования
bind-key -T copy-mode-vi v send-keys -X begin-selection # v → начать выделение текста
bind -T copy-mode MouseDragEnd1Pane send-keys -X copy-selection-no-clear # Мышь копирует без сброса выделения
bind -n M-Space copy-mode # Alt+Space → войти в режим копирования (без префикса)
# --- НУМЕРАЦИЯ ОКОН И ПАНЕЛЕЙ ---
set -g base-index 1 # Окна нумеруются с 1 (не с 0)
set -g pane-base-index 1 # Панели нумеруются с 1
set -g renumber-windows on # Перенумеровать окна при закрытии (1,2,3 вместо 1,3,5)
# --- СТАТУС-БАР ---
set -g status-left "[#{session_name}] " # Показывать имя сессии слева в статус-баре
# --- ЗАГРУЗКА TPM ---
run '~/.tmux/plugins/tpm/tpm' # Запустить TPM (должен быть в конце файла)
# --- ПЕРЕОПРЕДЕЛЕНИЕ ПОСЛЕ TPM ---
set -g history-limit 5000 # Ограничить скроллбэк 5000 строками (sensible ставит 50000)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment