code-preview.nvim — просмотр правок агента в Neovim
code-preview.nvim
Плагин Neovim: правки Claude Code, OpenCode, Copilot CLI и Codex CLI открываются обычным диффом до записи на диск
- 185 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Установка меняет настройки агента: хуки в `.claude/settings.local.json`, `.codex/hooks.json` или `.github/hooks/`
- По умолчанию плагин принуждает агента спрашивать подтверждение на каждую правку, это меняет режим работы Claude Code
Установка
- Работает в
Ручная установка
:CodePreviewInstallClaudeCodeHooksКоманда Neovim, не оболочки. Пишет хуки в `.claude/settings.local.json`; затем перезапустите Claude Code.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Установка меняет настройки агента: хуки в `.claude/settings.local.json`, `.codex/hooks.json` или `.github/hooks/`
- По умолчанию плагин принуждает агента спрашивать подтверждение на каждую правку, это меняет режим работы Claude Code
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Агент выдает правку в терминале, где диф тесный и прокручивается мимо. code-preview.nvim перехватывает этот момент через хуки агента и открывает предложенное изменение в Neovim: с подсветкой синтаксиса, цветовой схемой и привычными клавишами. Решение принимается в самом агенте, как и раньше, а после подтверждения превью закрывается. Работает с Claude Code, OpenCode, GitHub Copilot CLI и OpenAI Codex CLI на macOS, Linux и Windows. Макет дифа выбирается настройкой `diff.layout`: вкладка с текущей и предложенной версией рядом, вертикальный сплит или встроенный диф в стиле GitHub. Если открыт Neo-tree, дерево файлов помечает изменяемые, создаваемые и удаляемые файлы. Для каждого агента своя команда установки хуков: `:CodePreviewInstallClaudeCodeHooks` пишет хуки в `.claude/settings.local.json`, `:CodePreviewInstallOpenCodeHooks` копирует плагин в `.opencode/plugins/`. Парные команды `:CodePreviewUninstall…` убирают их обратно.
Для кого. Тем, кто живет в Neovim и читает правки агента как обычный дифф, а терминальный просмотр перед подтверждением считает неудобным.
Подходит, если
- Claude Code готовит правку в нескольких файлах, и ее удобнее читать рядом в Neovim
- Команда использует разных агентов, а хочется одинаковый просмотр правок для всех
- В дереве Neo-tree должно быть видно, какие файлы агент собирается изменить
- Правка большая, и без подсветки синтаксиса в терминале ее легко принять не глядя
- Работа идет на Windows: хук Copilot CLI там выполняется в PowerShell 7 и обходится без `jq`
Не подходит, если
- Редактор другой, не Neovim: превью открывается только в нем
- Агент запущен в режиме полного разрешения без вопросов, и править настройки подтверждений нельзя
- Codex создает файлы через перенаправление оболочки: такие файлы в превью не попадают
- Версия Neovim ниже 0.10
Пример запроса к агенту
Переименуй функцию loadConfig в readConfig во всех файлах src и покажи мне правку в Neovim до записи.Ограничения
Нужен Neovim 0.10 или новее. Для Claude Code и Codex CLI дополнительно установлен `jq`.
По умолчанию плагин принудительно включает запрос подтверждения на каждую правку, в том числе в режиме обхода разрешений Claude Code. Чтобы решали настройки самого агента, ставится `diff.defer_claude_permissions = true`.
При отказе от правки хуки Claude Code и Copilot CLI не срабатывают, и превью закрывается вручную: `<leader>dq` или `:CodePreviewCloseDiff`. Codex должен спрашивать перед правкой, для этого в его конфиге ставятся `approval_policy = "on-request"` и `sandbox_mode = "read-only"`. Последний коммит: июнь 2026.
Как отключить. Для каждого агента есть парная команда, например `:CodePreviewUninstallClaudeCodeHooks`. Она убирает хуки из настроек агента, после чего плагин можно удалить из менеджера Neovim.
Частые вопросы
Как включить предпросмотр правок Claude Code в Neovim?
Поставьте плагин через lazy.nvim, вызовите `setup()`, затем в Neovim выполните `:CodePreviewInstallClaudeCodeHooks` и перезапустите Claude Code. Хуки запишутся в `.claude/settings.local.json`, дополнительной настройки не нужно.
Превью не закрылось после отказа от правки, что делать?
Нажмите `<leader>dq` или выполните `:CodePreviewCloseDiff`. После подтверждения правки превью закрывается само, а при отказе хуки Claude Code и Copilot CLI не вызываются.
Нужен ли Python?
Нет. Преобразования файлов выполняет `nvim --headless -l`, единственная жесткая зависимость — Neovim 0.10 или новее. Для Claude Code и Codex CLI нужен еще `jq`.
Какие раскладки дифа есть?
Три, выбираются настройкой `diff.layout`: `"tab"` по умолчанию, вкладка с текущей и предложенной версиями рядом, `"vsplit"` как вертикальный сплит и `"inline"` встроенный диф.
Какие агенты поддерживаются и как?
Claude Code, GitHub Copilot CLI и Codex CLI через shell-хуки, OpenCode через TypeScript-плагин в `.opencode/plugins/`. У каждого парная команда удаления `:CodePreviewUninstall…`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
ПлагиныПлагин Neovim подключает Claude Code к редактору: текущий файл, выделение, диагностика и просмотр правок в diff
CodeCompanion.nvim
codecompanion.nvim
AI-ассистент для Neovim с чатом по LLM и запуском Claude Code, Codex, Gemini CLI прямо в редакторе через ACP и MCP
CLI открывает правки и документы в терминале, чтобы человек оставил замечания к строкам и передал их кодовому агенту
CLI и плагин для ревью кода агентом: читает git diff и пишет замечания по строкам с учетом контекста
Плагин с деревом файлов для Claude Code: подсвечивает файлы, которые агент читает и правит, показывает git, дифф и предпросмотр
Плагин для Claude Code: 39 команд для PR, ревью, коммитов и спецификаций, девять ролей экспертов и хуки, восемь языковых версий
Коротко о README
Порядок такой: установка плагина, команда хуков для своего агента, перезапуск CLI и просмотр правок. Таблица показывает механизм каждого агента: shell-хуки или TypeScript-плагин. Отдельные разделы посвящены макетам дифа, клавишам и интеграции с Neo-tree.