Hacker News Digest

04 сентября 2025 г. в 00:18 • neovim.io • ⭐ 259 • 💬 156

OriginalHN

Neovim Pack

Пакеты в Neovim

  • Пакет — каталог с плагинами.
    • Можно распаковать архив в отдельную папку.
    • Можно хранить как git-репозиторий.
    • Поддерживает связанные плагины.
    • start/ — автозагрузка при старте.
    • opt/ — загрузка по требованию :packadd.

Поиск файлов
Nvim ищет в 'runtimepath' и во всех pack/*/start/*.
Пути start/ не отображаются в &rtp; использовать nvim_list_runtime_paths().

Установка пакета

mkdir -p ~/.local/share/nvim/site/pack/foo
cd ~/.local/share/nvim/site/pack/foo
unzip /tmp/foopack.zip

Получится:

pack/foo/start/foobar/plugin/foo.vim
pack/foo/opt/foodebug/plugin/debugger.vim

При старте Neovim загружает start/, но не opt/.

Одиночный плагин
Создайте лишний уровень:

mkdir -p ~/.local/share/nvim/site/pack/foo/start/foobar
cd $_ && unzip /tmp/someplugin.zip

Опциональные плагины
:packadd foodebug — загружает pack/*/opt/foodebug.
:packadd! foodebug в init.vim — загрузка при старте, кроме --noplugin.

Рекомендации по размещению

  • Цветовые схемы — в pack/*/opt.
  • Файл-тип плагины — в pack/*/start, если нужны всегда; иначе в opt и выбор через :packadd.

Создание собственного пакета
Каждый независимый плагин — отдельный пакет, чтобы пользователи могли выбирать.