# dotenv Персональный конфиг терминального воркспейса: tmux + (опционально) VS Code. Содержимое: - `tmux.conf` — конфиг tmux: бинды, мышь, тема, сохранитель сессий. - `vscode-keybindings.json` — переопределение клавиш VS Code, чтобы `Alt+стрелки` уходили в tmux как навигация по панелям (нужно только если используешь VS Code). ## Установка tmux ### 1. Скопировать конфиг ```bash mkdir -p ~/.config/tmux/plugins cp tmux.conf ~/.config/tmux/tmux.conf ``` ### 2. Поставить TPM (менеджер плагинов — единственное ставится вручную) ```bash git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm ``` ### 3. Запустить tmux и доустановить плагины ```bash tmux new -s main ``` Внутри tmux нажми: ``` Ctrl+b , затем I ``` TPM прочитает строки `@plugin '...'` из `tmux.conf` и поставит: - `egel/tmux-gruvbox` — тема оформления; - `tmux-plugins/tmux-resurrect` — сохранение/восстановление сессии (`Ctrl+b Ctrl+s` / `Ctrl+b Ctrl+r`); - `tmux-plugins/tmux-continuum` — автосохранение каждые 15 сек и автовосстановление при старте. Если что-то не подхватилось — перезапусти tmux (или `Ctrl+b I` ещё раз). ## Горячие клавиши tmux (из tmux.conf) | Комбинация | Действие | |---|---| | `Alt+h` / `Alt+v` | сплит панели (вертикаль / горизонталь) | | `Alt+←↑→↓` | переключение панели | | `Alt+Shift+←↑→↓` | resize панели | | `Alt+1..9` | выбор окна | | `Alt+n` | новое окно | | `Alt+c` / `Alt+q` | убить панель / окно | | `Alt+d` | detach | | `Alt+x` | перезагрузить конфиг | | в copy-mode: `v` выделить, `y` скопировать | копирование в буфер | > `Alt+r` (старый reload) и `Alt+Enter` (новое окно) **не используются** — их ест > терминал/ОС (полноэкранный режим Windows). Поэтому reload = `Alt+x`, окно = `Alt+n`. Мышь включена (`set -g mouse on`): клик по панели, скролл колесом, resize границей. ## Проблема с копированием в буфер Копирование идёт через команду: ``` clip.exe || wl-copy || xclip -in -selection clipboard ``` - на **WSL** (Windows) работает `clip.exe` — текст попадает в Windows-буфер; - на чистом **Linux** понадобится `wl-clipboard` (`wl-copy`) или `xclip`: ```bash sudo apt install xclip # или: sudo apt install wl-clipboard ``` ## (Опционально) VS Code — чтобы работали `Alt+стрелки` Без этого в терминале VS Code голые `Alt+←→` перехватываются как word-jump и не доходят до tmux. Решение — скопировать `vscode-keybindings.json` в конфиг VS Code: **Windows:** `%APPDATA%\Code\User\keybindings.json` **Linux:** `~/.config/Code/User/keybindings.json` ```bash cp vscode-keybindings.json "$APPDATA/Code/User/keybindings.json" # Windows # или на Linux: cp vscode-keybindings.json ~/.config/Code/User/keybindings.json ``` Затем в VS Code: `Ctrl+Shift+P` → **Reload Window**. > Файл дополняет, а не заменяет: если в ключбиндингах уже что-то есть — слей вручную, > а не перезаписывай вслепую. ## Обновление/правки Держи `tmux.conf` в репе и правишь его как код. Перенос на другую машину = `git clone` этого репо + шаги 1–3 выше. Сам `tmux.conf` в репе — актуальный «живой» конфиг с этого компа.