tmux: перенос конфига (бинды, мышь, темы, автосохранение) + README

This commit is contained in:
Marat Kharitonov
2026-08-06 23:26:42 +03:00
commit 3cf28aa7a4
3 changed files with 212 additions and 0 deletions
+103
View File
@@ -0,0 +1,103 @@
# 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` в репе — актуальный «живой» конфиг с этого компа.