tmux: перенос конфига (бинды, мышь, темы, автосохранение) + README
This commit is contained in:
@@ -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` в репе — актуальный «живой» конфиг с этого компа.
|
||||
Reference in New Issue
Block a user