DeepWorkPlan Vim
DeepWorkPlan Vim — терминальный редактор для Deep Work Plan: конфигурация Neovim для людей и для программирующих агентов, которые работают в терминале. Ваши планы, документация и индекс всех команд находятся в одном нажатии клавиши.
Это отдельный продукт, который предлагается как необязательный аддон vim Deep Work Plan v7 (v7.0.0). Deep Work Plan работает с любым редактором или без него, а редактор не требует Deep Work Plan: вы добавляете его на машину самостоятельно, и он работает как редактор независимо от того, есть ли план. Эта страница описывает релиз v0.5.0.
Зачем терминальный редактор для Deep Work Plan
Deep Work Plan — это папка с Markdown в .dwp/plans/: цель, атомарные задачи, validation gates и постоянно ведущийся журнал. Люди проверяют его, агенты выполняют, и те и другие часто делают это из терминала. Редактор, созданный для такой работы, держит под рукой три вещи: сам план, документацию вокруг него и клавиши, которые перемещают вас между ними.
DeepWorkPlan Vim — именно такой редактор. Это продуманная конфигурация Neovim — языковые серверы, автодополнение, линтинг, форматирование, нечёткий поиск, дерево файлов и подобранные цветовые темы с ленивой загрузкой — плюс несколько интерфейсов, которые делают её редактором для Deep Work Plan.
- План
- Задачи
- Gates
- Готово
Обзор: индекс команд, который не может устареть
Нажмите SPC h h (Пробел — это лидер-клавиша) или выполните :DwpCommands, и редактор выведет все свои сочетания с однострочным описанием. Список создаётся из актуальных раскладок клавиш, поэтому сочетание, определённое где угодно, появляется в индексе без регистрации, а сам индекс не может устареть.
Вот и весь обзор: запустите nvim, затем нажмите Пробел, h, h.
- SPC h h Открыть этот индекс команд
- SPC P Браузер планов
- SPC m p Предпросмотр Markdown в браузере
- SPC m r Отрисовка Markdown в буфере
- <C-a> Выделить весь файл
- SPC y Копировать в системный буфер обмена
- SPC t f Найти файлы
- SPC t t Живой поиск по проекту
- SPC x Запустить или просмотреть текущий файл
- SPC n Дерево файлов
- SPC t h Выбрать цветовую тему
- и все остальные сочетания, всегда актуальные
Что вы получаете
Пять возможностей, каждая — в одном нажатии клавиши.
| Возможность | Клавиши | Что делает |
|---|---|---|
| Генерируемый индекс команд | SPC h h |
Все сочетания конфигурации, созданные из актуальных раскладок клавиш. |
| Жесты в стиле VS Code | <C-a>, SPC y |
Выделение всего файла одной клавишей и копирование в системный буфер обмена. Обычный y тоже копирует туда, потому что буфер обмена общий для всей системы. |
| Браузер планов Deep Work Plan | SPC P |
Боковая панель по планам вашего репозитория, сгруппированным по статусу и с индикаторами прогресса, и режим чтения для одного плана. |
| Просмотрщик Markdown | SPC m p, SPC m r |
Предпросмотр Markdown в браузере или отрисовка в буфере. |
| Проверенный установщик | — | Самодостаточный установщик для macOS, Linux и WSL с задокументированным ручным путём для Windows. |
Планы, не выходя из редактора
SPC P, :DwpPlans или щелчок по сегменту строки состояния открывает боковую панель планов. Она охватывает каждую папку .dwp/plans/ в текущем каталоге и в каталоге конфигурации Neovim и ставит выше те планы, которым нужно больше внимания. В редакторе метки такие: Working, Needs attention, Ready, Not started и Done. Для каждого плана показан индикатор прогресса.
Нажмите Enter на плане, чтобы открыть режим чтения: цель в одном предложении, статус и прогресс, список задач с отмеченной текущей задачей и понятные переходы к файлам самого плана. Строка состояния показывает текущий активный план, а стартовый экран перечисляет первые три. Эти интерфейсы объясняют планы и никогда ничего не записывают в .dwp/.
Чтобы читать Markdown-файлы плана на месте, SPC m p показывает текущий буфер в браузере, а SPC m r отрисовывает его внутри буфера. Оба работают только в буферах Markdown.
Установка
Установка — это три команды: скачайте скрипт, сверьте его с SHA-256 файла, который отдаёт этот сайт, затем запустите. Установщик фиксирует собственный релиз, поэтому устанавливает именно v0.5.0 — релиз, который описывает эта страница, если только вы не выберете другую версию.
curl -fsSL -o install.sh https://deepworkplan.com/vim/install.sh && \
echo "4890c140528d6b8d19b6bbc4102051e0b9dce2e26f43a693bdeab2e1cd8e196b install.sh" | shasum -a 256 -c && \
bash install.sh Проверьте перед запуском
Хотите сначала прочитать? Скачайте скрипт, проверьте его отпечаток, прочитайте и только потом запускайте.
- Скачайте скрипт
curl -fsSL https://deepworkplan.com/vim/install.sh -o install.sh - Выведите его SHA-256 и сравните со значением ниже
sha256sum install.sh - Прочитайте скрипт
less install.sh - Запустите скрипт
bash install.sh
- SHA-256 скрипта, который отдаётся сейчас
4890c140528d6b8d19b6bbc4102051e0b9dce2e26f43a693bdeab2e1cd8e196b- 42510 байт · 1017 строк
В macOS на втором шаге используйте shasum -a 256 install.sh.
Чтобы выбрать версию, передайте --version или задайте DWP_VIM_VERSION: точную версию, нижнюю границу '>=' или latest. DWP_VIM_REF принимает ветку или коммит. Старые релизы могут не содержать всех возможностей, описанных на этой странице.
В Windows эти команды не применяются; ручной путь описан в README репозитория. Путь установки для Windows
По порядку установщик:
- Проверяет вашу ОС и менеджер пакетов и устанавливает git, curl и интерпретатор Lua, если чего-то не хватает (с
--skip-packages— ничего). - Определяет версию: собственный релиз или тот, который запрошен через
--version. - С
--nvim X.Y.Zустанавливает этот релиз Neovim в~/.local/optи проверяет его по SHA-256, который публикует Neovim. - Спрашивает, прежде чем трогать существующую конфигурацию Neovim. Без терминала останавливается и ничего не меняет, если только
--yesне велит ему отодвинуть эту конфигурацию в сторону. - Клонирует репозиторий в
~/.config/nvimили обновляет его, если он уже там. - Запускает собственный
lua install.luaиз репозитория. - Устанавливает плагины в фоновом режиме и проверяет их, поэтому выходить и открывать заново не нужно. С
--strictнеудачная или неполная установка плагинов считается ошибкой.
Скрипт, который отдаётся здесь, — побайтно идентичная копия install.sh на теге v0.5.0. Его контрольная сумма отдаётся рядом, по адресу https://deepworkplan.com/vim/install.sh.sha256, поэтому загрузку можно проверить командой shasum -a 256 -c install.sh.sha256 (в Linux — sha256sum -c install.sh.sha256). Для проверки из второго источника сравните её со строкой install.sh в SHA256SUMS релиза на GitHub. Выполните bash install.sh --help, чтобы увидеть все параметры.
Выбор версии
По умолчанию установщик устанавливает собственный релиз, v0.5.0. Чтобы выбрать другой, задайте DWP_VIM_VERSION или передайте --version: оба способа делают одно и то же, поэтому используйте тот, что удобнее читать; флаг имеет приоритет над переменной окружения. Каждый принимает:
| Форма | Пример | Устанавливает |
|---|---|---|
| Точная версия | 0.5.0 или v0.5.0 |
Этот релиз |
| Минимальная граница | '>=0.4.2' |
Новейший стабильный релиз не ниже границы |
| Последняя | latest |
Новейший стабильный релиз |
После загрузки и проверки контрольной суммы, описанных выше:
# exact version
DWP_VIM_VERSION=0.5.0 bash install.sh
bash install.sh --version 0.5.0
# minimum floor: the newest stable release at or above 0.4.2
DWP_VIM_VERSION='>=0.4.2' bash install.sh
# latest stable release
bash install.sh --version latest
Заключайте границу в кавычки, чтобы оболочка не прочитала > как перенаправление. Версии разрешаются только в теги стабильных релизов. Для ветки или коммита задайте вместо этого DWP_VIM_REF (DWP_VIM_REF=main следует за main); если версия и ref противоречат друг другу, это ошибка.
Контейнеры и CI
В образе или задании CI, где нет терминала и часто нет root, скачайте и проверьте скрипт, затем запустите его за один шаг с флагами, которые делают результат воспроизводимым:
curl -fsSL -o install.sh https://deepworkplan.com/vim/install.sh && \
curl -fsSL -o install.sh.sha256 https://deepworkplan.com/vim/install.sh.sha256 && \
sha256sum -c install.sh.sha256 && \
bash install.sh --version 0.5.0 --nvim 0.12.5 --skip-packages --strict
--version 0.5.0фиксирует релиз редактора.--nvim 0.12.5устанавливает этот релиз Neovim в~/.local/opt/nvim-v0.12.5, связывает его как~/.local/bin/nvimи проверяет по SHA-256, который публикует Neovim (Linux и macOS).--skip-packagesне устанавливает системных пакетов: образ уже должен содержать git, curl и Lua.--strictзавершается с ненулевым кодом, если установка плагинов в фоновом режиме не удалась или оставила плагины недостающими.
У каждого флага есть двойник в виде переменной окружения (DWP_VIM_VERSION, DWP_VIM_NVIM, DWP_VIM_SKIP_PACKAGES=1, DWP_VIM_STRICT=1). Добавляйте --yes, только если в образе уже может быть конфигурация Neovim, которую нужно отодвинуть в сторону.
Требования и платформы
- Neovim 0.12 или новее. Установите его сами или позвольте установщику добавить проверенный релиз с помощью
--nvim X.Y.Z(Linux и macOS). - Lua:
lua,lua5.4илиluajit. Если его нет, установщик добавит. - На macOS, Linux и WSL работает установщик. Для Windows в README репозитория описан ручной путь: установите Neovim через winget, клонируйте тег
v0.5.0в%LOCALAPPDATA%\nvimи запуститеlua install.luaиз Git Bash. - Лицензия GPL-3.0: свободно использовать, изучать и изменять.
Обновление, фиксация версии и удаление
Чтобы обновить, запустите установщик более нового релиза или выполните bash install.sh --version latest. Повторный запуск переводит существующий клон DeepWorkPlan Vim на выбранный релиз, сохраняет ваши ветки и никогда не сбрасывает локальные изменения: если локальные изменения или коммиты были бы потеряны, он останавливается и ничего не меняет.
Чтобы зафиксировать релиз, используйте --version (см. Выбор версии); для ветки или коммита задайте DWP_VIM_REF. Предпочитайте релиз: релизы до v0.4.0 не содержат жестов, браузера планов, просмотрщика Markdown и этого установщика.
# pin a specific release, here the previous one
curl -fsSL -o install.sh https://deepworkplan.com/vim/install.sh && \
curl -fsSL -o install.sh.sha256 https://deepworkplan.com/vim/install.sh.sha256 && \
shasum -a 256 -c install.sh.sha256 && \
bash install.sh --version 0.4.2
Чтобы удалить, выполните lua delete.lua в каталоге конфигурации. Он удаляет конфигурацию, плагины, данные Mason, кэш и состояние, а также копию шрифта, сделанную установщиком, и оставляет в покое исполняемый файл Neovim и ваши системные пакеты.
cd ~/.config/nvim && lua delete.lua
Вопросы
Перезапишет ли он мою конфигурацию Neovim?
Нет, не без вашего одобрения. Если он находит конфигурацию, которая не принадлежит DeepWorkPlan Vim, интерактивный запуск спрашивает, прежде чем переместить её в ~/.config/previous-deepworkplan-vim. Без терминала он останавливается и ничего не меняет, если только вы не передадите --yes, чтобы отодвинуть её в сторону без участия человека. Если этот путь резервной копии уже существует, он всегда останавливается и ничего не меняет.
Работает ли он в Windows?
Установщик не работает в Windows. Используйте ручной путь из README репозитория или запустите установщик внутри WSL.
Нужен ли мне Deep Work Plan, чтобы им пользоваться?
Нет. Это прежде всего редактор. Он не устанавливает навык Deep Work Plan и не требует его; браузеру планов просто нечего показывать, пока нет папки .dwp/plans/.
Как его использует аддон vim в v7?
Deep Work Plan v7 предлагает редактор как необязательный аддон vim во время онбординга. Аддон обнаруживает существующую установку в режиме только для чтения, через файл addon/surface.json редактора, и предлагает зафиксированную установку с проверкой контрольной суммы только с вашего согласия. Он никогда не перезаписывает существующую конфигурацию Neovim без явного одобрения и никогда не является обязательным.
Как им пользуются программирующие агенты?
Он создан для людей и для программирующих агентов, которые работают в терминале. Его сочетания клавиш зафиксированы контрактными тестами, поэтому мышечная память и ожидания агента переживают обновления.
Какую версию я получу?
Установщик ставит релиз, к которому относится, — сегодня это v0.5.0, — если вы не выберете другой через --version или DWP_VIM_VERSION: точную версию, границу >= или latest. DWP_VIM_REF принимает ветку или коммит; DWP_VIM_REF=main следует за main. Эта страница описывает релиз v0.5.0, в который входят все перечисленные здесь возможности.
Под какой лицензией он и откуда взялся?
GPL-3.0. Он создан на основе mu-vim Andrés M Prieto, и указание авторства сохранено в репозитории.
Исходный код и лицензия
Исходный код находится в репозитории DeepWorkPlan Vim. Он открыт и распространяется по лицензии GPL-3.0, создан на основе mu-vim.
Связанные записи набора
- Devcontainer — воспроизводимая среда разработки (первый аддон)
- Dailybot — отчёты о жизненном цикле плана, видимые команде (второй аддон)
- AI Diff Reviewer — локальное ревью на финальных проверках плана (пятый аддон)
- Herdr — делегирование задачи peer-агенту в панели Herdr (v7)
- Agentkit — одна команда для любого терминального программирующего агента и делегирование в headless-режиме (v7)