Репозиторий конфигурации

Практическая карта терминального окружения macOS/Linux: что установлено конфигурацией, какую проблему решает каждый инструмент и какие клавиши держать в мышечной памяти. Brewfile описывает желаемое состояние; наличие конкретного бинарника на текущем компьютере не предполагается.

Быстрый маршрут

ЗадачаТочка входа
Выбрать рабочее пространствоZSH_MULTIPLEXER=herdr (по умолчанию), tmux или none
Lazygit поверх терминалаHerdr/Tmux: Ctrl+A, затем g
WorkmuxTmux: Ctrl+A, затем W; меню: Ctrl+A, затем w
Файлыyy/ya — Yazi; Ctrl+T — FZF-файл; Alt+C — FZF-каталог
История команд↑/↓ — native Zsh, Ctrl+R — Atuin
Редакторnvim; лидер Neovim — Space
Git statusgst; граф — glog; partial staging — gap
Docker / Kubernetesld; k9; kgp; kl POD; ke POD -- sh
SQL/HTTPhq — Harlequin; post — Posting
Мониторингbt/btop, procs, duf, dust, bandwhich

Модель слоёв

  1. Ghostty или WezTerm рисует терминал; AeroSpace раскладывает окна macOS.
  2. Zsh отвечает за быстрый prompt, aliases, completion, history и выбор мультиплексора.
  3. Herdr — текущий default workspace; Tmux + TPM + Workmux — совместимая альтернатива для ручного запуска.
  4. Neovim — IDE, а внешние TUI (Lazygit, Yazi, btop, k9s, Posting) открываются в popup или отдельной pane.
  5. Brewfile и Ansible описывают установку и ссылки; Stow раскладывает dotfiles.

Важно: ZSH_MULTIPLEXER выбирается до запуска нового shell. Допустимы ZSH_MULTIPLEXER=herdr, ZSH_MULTIPLEXER=tmux, ZSH_MULTIPLEXER=none; неизвестное значение безопасно оставляет обычный Zsh. Скрипты не запускаются в SSH, IDE, вложенном multiplexer, TERM=dumb и не-интерактивном shell. ZSH_HERDR_AUTOSTART=0 и ZSH_TMUX_AUTOSTART=0 — только аварийные kill-switches старых backend-скриптов.

Herdr и Reviewr

Herdr сохраняет рабочие пространства/агентов и даёт единый UI. Он убирает ручное восстановление panes и быстрые переключения между workspaces; состояние и checkout плагинов живут в ~/.config/herdr, а не в репозитории.

КлавишиДействие
Ctrl+A, gLazygit в full-terminal popup
Ctrl+A, Shift+RToggle Reviewr для текущего Git diff
Ctrl+A, fSession navigator
Ctrl+A, wWorkspace picker
Ctrl+A, v / -Split вправо / вниз
Ctrl+A, h/j/k/lПереход между panes
Ctrl+A, zZoom текущего pane
Ctrl+A, qDetach, оставив процессы работать
Ctrl+A, Ctrl+AПередать буквальный Ctrl+A приложению
Ctrl+A, ?Справка Herdr

Reviewr — ручной code-review поверх текущей ветки; base выбирается среди dev, develop, main, master. PR/MR view использует уже авторизованный gh, glab или az. Плагин не следует автоматически запускать в каждом worktree; его checkout и sockets — runtime state.

Проверка установки: herdr config check, herdr status, herdr plugin list --json, herdr plugin action list --plugin persiyanov.reviewr.

Tmux, TPM и Workmux

Prefix Tmux — Ctrl+A: нажать и отпустить, затем действие. Tmux решает задачу долгоживущих процессов и переносимой раскладки, TPM — обновление плагинов, а Workmux связывает Git worktree с отдельной Tmux-сессией и агентом Codex.

Сессии, окна и panes

КлавишиДействие
Prefix sДерево sessions/windows
Prefix CНовая session
Prefix XПодтверждённо завершить session
Prefix dDetach
Prefix cНовое окно в текущем каталоге
Prefix 1..9Перейти к окну
Prefix 0Перейти к окну 10
Prefix C-hПредыдущее окно
Prefix C-lПерерисовать экран (эта binding переопределяет next-window)
Prefix TabПоследнее окно
Prefix </>Переместить окно
Prefix | / -Split вправо / вниз, сохранив каталог
Prefix h/j/k/lFocus pane
Prefix H/J/K/LResize на 5 клеток
Prefix Alt+h/j/k/lResize на 1 клетку
Prefix zZoom pane
Prefix M / mMark / unmark pane

Copy mode, popups и layouts

КлавишиДействие
Prefix [Copy mode
Space / Ctrl+SpaceОбычное / прямоугольное выделение
EnterСкопировать и выйти
Esc, Ctrl+G, qВыйти без копирования
Prefix rReload tmux.conf
Prefix SSynchronize panes
Prefix C-kОчистить scrollback и экран
Prefix tToggle status bar
Prefix gLazygit popup (текущий каталог)
Prefix WWorkmux dashboard worktrees
Prefix b / y / fBtop / Yazi / FZF popup
Prefix nОткрыть ~/notes.md в $EDITOR
Prefix Alt+1..5Предустановленные layouts
Prefix D / IDev (70/30) / IDE layout

Workmux menu

Prefix+w открывает discoverable menu. Следующий символ выбирает действие:

МенюДействие
wDashboard worktrees: создать/открыть
aDashboard агентов
dDiff текущего проекта
sSidebar текущей сессии
rВосстановить Workmux-сессии
b / mRebase / merge с подтверждением
cЗакрыть worktree с подтверждением
?Документация Workmux

Прямые команды: wm add BRANCH, wm list, wm open BRANCH, wm merge. Prefix+W сохраняется как одноклавишный dashboard. Дополнительные TPM плагины: Prefix o SessionX, Prefix F tmux-fzf, Prefix T tmux-thumbs, Prefix u URL picker, Prefix e fuzzy-поиск текста pane. Их точные клавиши могут меняться версией плагина — смотрите popup help.

Ghostty, WezTerm и AeroSpace

Ghostty — лёгкий нативный renderer и основной конфиг терминала; он настроен в ghostty/config, но не устанавливается Brewfile автоматически. WezTerm — альтернативный программируемый терминал из wezterm/wezterm.lua. AeroSpace делает tiling окон macOS и устанавливается cask-ом. Эти слои не заменяют мультиплексор: закрытие окна без detach не должно быть способом завершать рабочие процессы.

Ghostty

Клавиши из tracked ghostty/config:

КлавишаДействие
Cmd+DНовый split справа
Cmd+Shift+DНовый split вниз
Cmd+WЗакрыть surface
Cmd+EnterToggle fullscreen
Cmd+KОчистить экран
Cmd+TНовая вкладка
Cmd+Shift+[ / Cmd+Shift+]Предыдущая / следующая вкладка

WezTerm — альтернативный программируемый renderer; его Lua-конфиг не является конфигом Ghostty, поэтому клавиши могут различаться.

AeroSpace

КлавишаДействие
Alt+H/J/K/LFocus окна влево/вниз/вверх/вправо
Alt+Shift+H/J/K/LПереместить окно
Alt+Slash / Alt+CommaTiles / accordion layout
Alt+FFullscreen
Alt+Minus / Alt+EqualSmart resize −50/+50
Alt+1..9Перейти на workspace
Alt+Shift+1..9Переместить окно на workspace
Alt+TabПредыдущий workspace
Alt+Shift+;, затем r/f/Backspace/EscService mode

Zsh, prompt, история и навигация

Zsh настроен для быстрого интерактивного старта: env.zsh — PATH и окружение, plugins.zsh — плагины, prompt.zsh/Starship — prompt, init.zsh — runtime инициализация. Emacs — единственная ZLE keymap: это устраняет случайное включение Vim-навигации в терминале.

КлавишиДействие
↑ / ↓Нативная история Zsh
Ctrl+RAtuin: поиск истории с контекстом
Ctrl+TFZF файл, вставить путь
Alt+CFZF каталог и cd
Ctrl+A / Ctrl+EНачало / конец строки (вне prefix)
Ctrl+←/→Перемещение по словам
Ctrl+WУдалить слово слева
Ctrl+U / Ctrl+KУдалить до начала / конца строки
TabCompletion команды, файла, ветки, аргумента

Prompt показывает время, длительность последней команды, текущий Git branch и dirty state, Docker-контекст и используемые технологии проекта. Медленные проверки не являются асинхронными: вычисление Starship синхронное, внешние модули ограничены 250 ms и marker-scoped. В prompt нет network fetch. Detached и lock-protected обновление относится только к сгенерированным shell integration shim-файлам; не добавляйте в prompt произвольные команды.

Zsh-плагины: zsh-autosuggestions показывает подсказку по истории, zsh-syntax-highlighting подсвечивает команду, zsh-completions расширяет completion. Это provisioned formulae, а не гарантия наличия на хосте.

Полезные команды и aliases:

СценарийКоманда
Известный каталогz fragment (zoxide)
FZF открыть файл в Neovimfv
Yazi с возвратом выбранного каталогаyy
Dotfilesdotfiles
Gitgst, glog, gdiff, gap, gco, grb, gsh, gshp
Composedcup, dcdown, dclogs, dps, dx
Herdrherdrs, herdrl, herdrr, reviewr
Node/pnpmnrd, nrt, nrl, prd, prt, prb
Nx/Angularnxb, nxs, nxt, nxl, nxa; ngb, ngs, ngt
Helmhl, hla, hui, hs, hru
Kuberneteskgp, kgpw, kgs, kgd, krollout, krestart, ktop
Terraformtfi, tfp, tfa, tfv, tff, tfwl, tfws
Ansibleap, ag, av, al
HTTP/SQLpost, hq

Yazi, FZF, Zoxide, Broot и Navi

Yazi решает медленную навигацию и безопасное пакетное перемещение файлов; yazi/ya открывает TUI, yy возвращает выбранный каталог в shell. FZF — универсальный fuzzy picker (файлы, каталоги, история, Prefix f), fd — его быстрый backend. Zoxide учит часто используемые каталоги (z rentverse). Broot (broot) даёт интерактивное дерево с быстрым переходом, Navi (navi) — поиск командных рецептов. У FZF/Yazi preview может читать содержимое файлов — не открывайте доверительные данные в чужих окружениях.

Git: CLI, Lazygit, Delta и Neovim

Обычный Git остаётся точным и скриптуемым интерфейсом. Lazygit решает проблему перегруженного CLI: показывает status, историю, branches, diff, partial stage, stash и конфликты в одном TUI. e открывает выбранный файл в $EDITOR.

Lazygit daily

КлавишаДействие
h/j/k/lНавигация
?Help текущей панели; / — фильтр
Space / aStage/unstage файл / всё
Enter на файлеDiff и отдельные строки
Space / v в diffHunk/line stage и range selection
eОткрыть файл в Neovim
c / ACommit / amend
s / SStash / stash menu
p / PPull / push
z / ZUndo / redo Git operation
qВыйти

Branches, history и rebase

Контекст/клавишаДействие
Branches Space / n / -Checkout / новая ветка / предыдущая ветка
Branches r / M / wRebase / merge / создать worktree
Commits iInteractive rebase
Commits s / f / r / dSquash / fixup / reword / drop
Commits Ctrl+J/KПереместить commit вниз / вверх
Commits C, затем VCopy и cherry-pick commit
Commits T / SpaceTag / checkout detached HEAD

Конфликты

КлавишаДействие
M на конфликтующем файлеМеню разрешения конфликта
h/l / j/kПредыдущий/следующий конфликт; предыдущий/следующий hunk
SpaceВыбрать текущую сторону/hunk
bВзять обе стороны
eОткрыть файл в Neovim
zОтменить разрешение последнего конфликта
mContinue / abort / skip merge или rebase

Разделение интерфейсов

  • Lazygit — ежедневный status, partial staging, branch/history и быстрый editor.
  • Neogit — commit/rebase/branch workflow внутри Neovim (<Space>gg, compact <Space>gs, log <Space>gl).
  • Diffview — история и трёхстороннее разрешение конфликтов (<Space>gm, ]x/ [x, 2do ours, 3do theirs).
  • Gitsigns — локальные hunks: ]h/[h, <Space>ghs stage, <Space>ghr reset, <Space>ghu toggle stage текущего hunk (stage_hunk), <Space>ghp preview, <Space>ghb blame, <Space>gB toggle inline blame.

Delta делает git diff читаемым (Catppuccin, side-by-side), Difftastic сравнивает структуру AST, а gitleaks ищет секреты. gcoall опасен: отбрасывает все неукоммиченные изменения. Перед reset/checkout проверяйте gst.

Системный мониторинг и файлы

btop — процессы, CPU/RAM/disk/network в одном TUI (bt, Prefix b), bottom — лёгкая альтернатива; procs/pst — читаемый process tree. Полные keymaps btop и Yazi не принадлежат этому репозиторию: используйте встроенный ?/help и актуальную upstream-документацию. duf/dust показывают свободное место/потребление, gping — latency-график, bandwhich — bandwidth по процессам, lnav — интерактивные логи, trippy и mtr — сетевой маршрут. На macOS для точного процесса используйте Activity Monitor, а TUI — для быстрой диагностики.

eza заменяет ls, bat — cat с подсветкой, glow — Markdown, jless — JSON, jq/yq — структурное преобразование, sd — безопаснее sed, choose — выбор колонок, ast-grep — структурный поиск. tree, tokei, atool, sevenzip, imagemagick, ffmpegthumbnailer, poppler закрывают дерево проекта, статистику, архивы, изображения и PDF.

thefuck есть только как provisioned Brewfile formula: tracked alias не задан. Upstream alias при необходимости добавляется вручную в локальный override.

Docker, Kubernetes, Helm, IaC и безопасность

ИнструментПроблема/вход
Docker Composedco, dcup, dcdown, dclogs; повторяемый локальный stack
Lazydockerld; TUI для containers/images/volumes
Divediv; слои и размер Docker image
Kubernetesk, kg*, kd*, kl, ke, kpf; быстрый диагностика ресурсов
K9sk9; интерактивный cluster UI
kubectx/kubenskc, kns; context/namespace без длинных флагов
Helmh, hl, hui, hd, hs, hru; charts и release
kustomize/kubeconformoverlays и проверка Kubernetes YAML
sternлоги нескольких pods
minikube/qemuлокальный cluster и VM
Terraformtfp перед tfa; tfaa и tfda требуют особой осторожности
Ansibleap, al; provisioning и lint
trivy/gitleaksvulnerability и secret scanning до push
AWS CLIaws-whoami, aws-regions; проверка identity перед действиями

kdel, dprune, dvprune, tfaa, tfda, hd и krestart могут удалять ресурсы или менять окружение. Сначала проверьте context, namespace и diff; для production используйте явный approval. Секреты не кладите в aliases, prompt, git или эту заметку.

HTTP, API и базы данных

Posting (post) — коллекции HTTP-запросов в TUI; httpie, xh, httpyac и resterm — CLI/API-клиенты для скриптов и .http-файлов. grpcurl проверяет gRPC. В Neovim Space lp открывает Posting.

Posting и Resterm

В Posting сохранены upstream widget keys и добавлены Vim-style команды:

КлавишаДействие
Ctrl+J, Alt+Enter, Ctrl+EnterОтправить request
/, Ctrl+P, Ctrl+Shift+PПоиск requests
:, Ctrl+PКоманды
F1, ?, Ctrl+?, Ctrl+Shift+/Help
h/j/k/l, g/GНавигация native widgets (не переназначена)

В Resterm bindings заменяют defaults:

КлавишаДействие
Tab, Ctrl+J, Ctrl+LСледующий focus
Shift+Tab, Ctrl+H, Ctrl+KПредыдущий focus
Ctrl+Enter, Cmd+Enter, Alt+Enter, Ctrl+MОтправить request

В Resterm Esc оставлен редактору: сначала выйдите из editor focus, затем используйте навигацию TUI.

Harlequin (hq) — SQL TUI для PostgreSQL и других поддержанных БД; PostgreSQL (postgresql@16) и Redis — Brewfile-формулы/клиенты, которые этим dotfiles конфигом автоматически не запускаются. Database UI в Neovim открывается Space D, располагается справа, Ctrl+L переводит фокус из редактора в DBUI, Ctrl+H возвращает его. Всегда проверяйте URL, database и read-only режим перед запросом; kubectl exec к production DB выполняйте только по процедуре доступа.

Neovim как IDE

Leader — Space; конфигурация LazyVim лениво загружает language extras, LSP, formatter, tests, DAP и тяжёлые TUI только по команде/буферу. Это сохраняет быстрый пустой старт. Ctrl+/ открывает встроенный терминал, Space l d — Lazydocker.

Neovim: поиск и навигация

КлавишиДействие
Space Space / Space /Файл / текст во всём проекте
Space sb / Space swСтроки buffer / слово или selection по проекту
/текст, n/N, */#Поиск, следующее/предыдущее, слово под курсором
42G / :42, gg / GСтрока 42 / начало и конец файла
Ctrl+O / Ctrl+I, %Jump list / парная скобка или tag
Space e / Space feExplorer от Git root
Space E / Space fEExplorer от текущего каталога
Space ,, Tab/Shift+TabBuffers и переход между ними
Space fr, Space skRecent files / поиск mappings

В shorthand выше Space означает <Space>: например, explorer также вызывается полными chords <Space>fe и <Space>fE.

LSP, автофикс и refactoring

КлавишиДействие
gd, gr, gI, gy, gDDefinition / references / implementation / type / declaration
K, gKHover / signature help
Space cr, Space cRRename symbol / rename file через LSP
Space ca, Space cAQuick fix / source-level action
Space co, Space cfOrganize imports / format buffer или selection
Space cD, Space cMTS: fix all diagnostics / добавить missing imports
Space rs, ri, rIRefactor picker / inline variable/function
Visual Space rf, rF, rxExtract function / в файл / variable
Space cd, ]d/[d, ]e/[eDiagnostic / следующая-previous diagnostic/error
Space qq, Space qbTrouble: project / buffer diagnostics

Редактирование, окна и инструменты

КлавишиДействие
jj, Space w, Ctrl+SВыйти из Insert / сохранить
u/Ctrl+R, ., ciw, diwUndo/redo, repeat, change/delete word
dd/yy, p/PDelete/yank line, paste after/before
gcc, Visual gcКомментарий строки/selection
Space ms, Space p, [y/]yMulticursor, yank history, previous/next yank
Ctrl+h/j/k/l, `, `
Ctrl+/, Space ld, Space lp, Space DTerminal / Lazydocker / Posting / DBUI
Space oo, Space or, Space owOverseer task / restart / task list

Neovim Git, tests и debug

КлавишиДействие
<Space>gg, <Space>gs, <Space>gc, <Space>gl, <Space>gb, <Space>gt, <Space>grNeogit status/compact/commit/log/branch/tag/rebase
<Space>gd, <Space>gD, <Space>gh, <Space>gH, <Space>gmDiff / previous commit / file history / repo history / conflicts
]h/[h, <Space>ghs, <Space>ghr, <Space>ghu, <Space>ghp, <Space>ghb, <Space>gBHunks, stage/reset/toggle-stage/preview/blame/inline blame
]x/[x, 2do/3doConflict navigation, ours/theirs in Diffview
<Space>tr, <Space>tt, <Space>tT, <Space>tl, <Space>tdNeotest nearest/file/all/last/debug
<Space>ts, <Space>to, <Space>tO, <Space>tS, <Space>tc, <Space>tCSummary/output/panel/stop/coverage/summary
<Space>db, <Space>dB, <Space>dL, <Space>dXBreakpoint / conditional / logpoint / clear all
<Space>dc, <Space>di, <Space>dO, <Space>do, <Space>dt, <Space>du, <Space>deContinue/step in/over/out/terminate/UI/evaluate

Neovim sessions

При обычном запуске nvim без аргументов проектная сессия автоматически восстанавливается; перед :qa/:wqa раскладка сохраняется. Исключения — запуск с файлами, stdin, --headless, -c, -S и editor для Git message.

КлавишиДействие
Space qs / qS / qlRestore текущей / выбрать snapshot / последняя
Space qdНе сохранять временную раскладку
Space qqTrouble diagnostics, не выход
:q, :qa, :wqaВыйти / выйти из всех / сохранить и выйти

Helm/Jinja source-шаблоны получают только YAML-like/Jinja syntax highlighting; helm_ls, yamlls и formatters для yaml.jinja намеренно отключены. В true Helm buffer helm-ls.nvim экспериментально показывает inline resolved values, если chart context разрешается, но точный результат даёт только helm template или helm lint через явный project task. SQL completion отключён на стрелках, чтобы навигация не лагала.

Языки, package managers и project CLI

Mason/LazyVim extras дают LSP, Treesitter, formatter, DAP и test adapter для JavaScript/TypeScript, Go, Rust, Python, C#, Lua, HTML/CSS, SQL, Helm/YAML. Brewfile желает go, rustup, dotnet, python, pyenv, uv, cargo-nextest; проектные менеджеры Node — npm/pnpm/Bun, а Nx/Angular aliases ускоряют monorepo. Не смешивайте несколько LSP-клиентов одного языка без причины; источник истины для project scripts — package.json, Makefile, Taskfile или .workmux.yaml.

Homebrew, mas, Stow и Ansible

brew bundle --no-upgrade --file Brewfile безопасно приводит машину к желаемому набору формул и casks без неожиданных обновлений. Без --no-upgrade Homebrew может обновить или остановить GUI casks. brew bundle check --file Brewfile --verbose только проверяет состояние и ничего не устанавливает. mas — только Mac App Store; Amphetamine — единственное приложение, которым управляет mas, и это не cask. GUI casks (Docker Desktop, Maccy, Flameshot, ChatGPT, Claude, Mos, VS Code, JetBrains Toolbox, AeroSpace и fonts) — companion apps, не terminal tools. Установка/обновление cask может остановить приложение и запросить sudo.

Stow раскладывает конфиги (stow --restow --no-folding), но не использует --adopt: host-файл не должен перезаписывать source. Ansible запускается через all.yml в порядке platform → homebrew → dotfiles → git → node → docker. Изменение YAML проверяйте ansible-playbook -i inventory/hosts.ini all.yml --syntax-check и ansible-lint; применение playbook — отдельная осознанная операция.

Каталог Brewfile

ГруппаФормулы (desired state)Статус
Основаstow, git, neovim, tmux, herdr, workmux, bat, btop, yazi, atuin, starshipИнтегрированы
Shell/searchzsh, bash, fzf, fd, ripgrep, zoxide, fzf-tab, zsh-*, eza, tree, tldrИнтегрированы
JSON/textjq, yq, glow, jless, sd, choose-rust, ast-grep, tokei, atool, sevenzipCLI aliases/проектные tasks
Disk/networkdust, duf, gping, bottom, hyperfine, viddy, doggo, bandwhich, lnav, trippy, mtr, nmap, tcpdumpProvisioned, upstream defaults
Gitlazygit, gh, glab, git-lfs, git-delta, difftasticLazygit/Delta интегрированы
Containers/K8skubectl, kubectx, minikube, helm, k9s, kustomize, kubeconform, stern, lazydocker, dive, qemuAliases/TUI интегрированы
IaC/security/cloudterraform, ansible, ansible-lint, gitleaks, trivy, awscliAliases/tasks; upstream defaults
Languages/runtimego, rustup, dotnet, python, pyenv, uv, cargo-nextest, redis, postgresql@16Toolchain/project dependent
HTTP/DBhttpie, xh, httpyac, posting, resterm, harlequin, grpcurlpost/hq и project configs
GNU/POSIXgrep, gnutls, gnu-which, gnu-indent, gnu-tar, gnu-sed, gzip, diffutils, findutils, coreutils, gawk, make, watch, ed, bc, curl, wget, less, nanoProvisioned, upstream defaults
Media/filesffmpegthumbnailer, imagemagick, popplerProvisioned, upstream defaults

Exact tap-qualified declarations, useful when auditing Brewfile: raine/workmux/workmux, jesseduffield/lazygit/lazygit, derailed/k9s/k9s, hashicorp/tap/terraform. Brewfile describes desired state and does not claim that any formula is installed on the host.

AI CLI и рабочие пространства

AI-инструменты (Codex/Claude и project-local skills) запускаются внутри Herdr, Tmux или Workmux-pane, чтобы сохранять context и процессы между окнами. Не включайте тяжёлые AI desktop apps в prompt или shell startup. Проектные spec/plan/implement последовательности, Beads и Workmux должны оставаться явными; runtime state, OAuth и credential files не коммитятся.

Безопасность и диагностика

  • Перед destructive Git/Docker/Kubernetes/Terraform-командой выполните gst, проверьте branch/context/namespace и используйте полный флаг вместо alias.
  • Не публикуйте .env, kubeconfig, токены, shell history и scrollback. Herdr сохраняет pane_history=false намеренно.
  • Если пропал prompt: command -v zsh starship git; временно ZSH_MULTIPLEXER=none zsh -f; затем проверьте zsh -n zsh/.zshrc zsh/*.zsh.
  • Если стартует не тот multiplexer: проверьте ~/.zshrc.local, echo $ZSH_MULTIPLEXER, вложенность и TERM; новое окно терминала перечитает переменную.
  • Если lag при scroll/completion: отключите внешние desktop AI apps, проверьте btop/procs, выключите сетевые проверки prompt и запускайте nvim --clean для сравнения.
  • Если Tmux не видит Workmux: command -v workmux, затем Prefix r; если Herdr popup пуст, проверьте herdr status и PATH launch service.
  • Если Neovim не видит LSP: :LspInfo, :Mason, root marker и project runtime; не устанавливайте второй сервер поверх LazyVim extra.

Источники истины

  • Dotfiles — конфигурация и Brewfile.
  • Neovim README — IDE pipeline и mappings.
  • Cheatsheet — короткая ежедневная карта.
  • Workmux и Tmux — upstream documentation.
  • В приложениях ?/help всегда имеет приоритет над этой заметкой при обновлении версии инструмента.