🌟 Введение #

Tmux (Terminal Multiplexer) — это мощный инструмент для работы с терминалом, который позволяет создавать несколько виртуальных терминалов внутри одного окна, управлять сессиями и сохранять рабочее окружение даже после отключения. В этой статье мы рассмотрим основные возможности tmux и научимся эффективно использовать его в повседневной работе.

🚀 Основные возможности tmux #

Ключевые преимущества #

  • 📌 Сохранение сессий между подключениями
  • 📌 Разделение окна на панели
  • 📌 Создание нескольких окон в одной сессии
  • 📌 Копирование и вставка текста между панелями
  • 📌 Настраиваемые горячие клавиши
  • 📌 Поддержка скриптов и автоматизации

🛠️ Установка и настройка #

Установка tmux #

На macOS с помощью Homebrew:

brew install tmux

На Ubuntu/Debian:

sudo apt install tmux

Базовая конфигурация #

Создайте файл ~/.tmux.conf с базовыми настройками:

# Изменение префикса на Ctrl+a
set -g prefix C-a
unbind C-b
bind C-a send-prefix

# Включение поддержки мыши
set -g mouse on

# Начинать нумерацию окон с 1
set -g base-index 1
setw -g pane-base-index 1

# Улучшение цветопередачи
set -g default-terminal "screen-256color"

📚 Основные команды #

Управление сессиями #

  • 🔷 Создание новой сессии: tmux new -s имя_сессии
  • 🔷 Подключение к существующей сессии: tmux attach -t имя_сессии
  • 🔷 Список сессий: tmux ls
  • 🔷 Отключение от сессии: Prefix + d
  • 🔷 Переименование сессии: Prefix + $

Работа с окнами #

  • 🔷 Создание нового окна: Prefix + c
  • 🔷 Переключение между окнами: Prefix + номер_окна
  • 🔷 Переименование окна: Prefix + ,
  • 🔷 Закрытие окна: Prefix + &

Управление панелями #

  • 🔷 Разделить горизонтально: Prefix + "
  • 🔷 Разделить вертикально: Prefix + %
  • 🔷 Переключение между панелями: Prefix + стрелки
  • 🔷 Изменение размера панели: Prefix + Alt + стрелки
  • 🔷 Закрытие панели: Prefix + x

🎯 Продвинутые техники #

Копирование и вставка #

  1. Вход в режим копирования: Prefix + [
  2. Перемещение курсора к началу текста
  3. Начало выделения: Space
  4. Выделение текста
  5. Копирование в буфер: Enter
  6. Вставка: Prefix + ]

Синхронизация панелей #

# Включение синхронного ввода во все панели
:setw synchronize-panes on

# Выключение синхронного ввода
:setw synchronize-panes off

Сохранение и восстановление сессий #

Используйте плагин tmux-resurrect для сохранения состояния сессий:

# Установка через tpm (Tmux Plugin Manager)
set -g @plugin 'tmux-plugins/tmux-resurrect'

# Сохранение сессии: Prefix + Ctrl-s
# Восстановление сессии: Prefix + Ctrl-r

💡 Полезные советы #

Эффективная работа #

  1. Используйте осмысленные имена для сессий и окон
  2. Создавайте отдельные сессии для разных проектов
  3. Используйте скрипты для автоматического создания рабочего окружения
  4. Настройте статусную строку для отображения важной информации

Пример скрипта для создания рабочего окружения #

#!/bin/bash
# Создание новой сессии
tmux new-session -d -s dev

# Разделение окна
tmux split-window -h
tmux split-window -v

# Запуск команд в панелях
tmux send-keys -t 0 'vim' C-m
tmux send-keys -t 1 'git status' C-m
tmux send-keys -t 2 'htop' C-m

# Подключение к сессии
tmux attach-session -d -t dev

📝 Заключение #

Tmux — это мощный инструмент, который значительно повышает эффективность работы в терминале. Начните с базовых команд и постепенно добавляйте новые возможности в свой рабочий процесс. С практикой вы сможете создавать сложные рабочие окружения и эффективно управлять множеством терминальных сессий.

Рекомендуется:

  1. Создать собственный конфигурационный файл
  2. Изучить и настроить горячие клавиши под свои нужды
  3. Использовать плагины для расширения функциональности
  4. Регулярно практиковаться в использовании новых команд