Управление пакетами (плагинами) для Vim - PullRequest
74 голосов
/ 17 марта 2010

Emacs 24 выглядит так, как будто у него будет менеджер пакетов. Какие есть варианты управления пакетами для Vim?

Ответы [ 7 ]

82 голосов
/ 21 февраля 2011

Я сейчас использую VimPlug для моей собственной настройки Vim, и я определенно рекомендую ее. Установка очень проста, и это быстро, красиво и эффективно!

VimPlug video

Раньше я рекомендовал Vundle в этом ответе. Но Vundle больше не поддерживается, и есть лучшие альтернативы.

35 голосов
/ 23 октября 2012

Управление плагином для vim раньше было проблемой традиционным способом, когда файлы плагинов распределялись по всему личному каталогу среды выполнения vim, например. ~/.vim для * nix системы. После установки плагина его трудно обновить, поскольку нет простого способа удалить устаревшие файлы плагина, что является необходимым шагом.

Вначале я хотел бы перечислить свои личные требования о том, каким должен быть прекрасный инструмент управления плагинами:

  1. должен быть написан на чистом VimL
  2. установит плагины в свой каталог
  3. автоматически загружает плагины при запуске vim, хорошо загружается при необходимости
  4. должен иметь встроенный метод установки, обновления и удаления плагинов
  5. Приятно иметь встроенный метод поиска необходимых плагинов
  6. сможет объявить необходимые плагины в файле
  7. приятно иметь механизм решения зависимостей

Существует множество реализаций ( Vim-Scripts.org содержит исчерпывающую сводку всех доступных инструментов), я расскажу только о нескольких основных инструментах при их создании. заказ.

vimball была первой попыткой решить проблему и фактически была полуофициальным решением, когда многие плагины поставлялись вместе с пакетом *.vba в течение длительного времени. В сочетании с GetLatestVimScripts это стало традиционным способом управления плагином vim.

Несмотря на то, что проблема все еще оставалась до тех пор, пока Tim Pope pathogen ( Github Repo ), который помещает каждый плагин в свой каталог и загружает их при запуске путем изменения "rtp (runtimepath)" vim, обнаружился. Это большой прогресс - в сочетании с vim-scripts.org, размещенным на git / github и другими инструментами (например, vimmer ), он формирует современный способ управления плагинами vim. По этой теме много статей и видео.

Как плагин, который управляет плагинами, pathogen все еще не хватает некоторых основных функций, таких как поиск, установка, обновление и удаление плагинов. В результате вышел VAM (Vim-Addon-Manager) ( Github Repo ). VAM предоставляет практически все, что нужно для управления плагинами: помещает файлы плагинов в свой собственный каталог, загружает плагины при запуске vim, ищет / устанавливает / обновляет / удаляет плагины в командной строке ex, написанной на чистом VimL, ​​поддерживает собственную центральную информационную базу плагинов даже разрешает зависимости плагина. Кажется, VAM должен быть тем, который нам нужен в качестве полнофункционального менеджера плагинов vim, но, с моей точки зрения, подход, который использует VAM, немного не элегантен, а иногда и чрезмерно спроектирован. Хотя это все еще замечательный плагин и его стоит использовать.

Затем появился Tom Link tplugin ( Github Repo ), который улучшил патоген путем загрузки плагинов только при вызове связанных команд или функций, аналогично AsNeeded . Кроме того, у него есть своего рода механизм решения зависимостей, который выглядит неплохо.

Finnaly, Gmarik создал Vundle ( Github Repo ), который является преемником патогена Тима Попа с вдохновением от Bundler Руби, он обеспечивает лучший пользовательский интерфейс и дополнительные функции управления. Vundle to Vim очень похож на Bundler на Ruby Project. При наличии необходимых плагинов, объявленных в vimrc, vundle обрабатывает все остальное, включая установку / обновление и удаление плагинов, через интерфейс командной строки ex. Самое главное, vundle реализован в чистом VimL. С помощью vundle управление конфигурацией vim на нескольких компьютерах можно выполнить с помощью простого файла vimrc. Как современный инструмент управления плагинами, vundle опирается на Git и может устанавливать плагин непосредственно из Github. Vundle также предоставляет модный интерактивный интерфейс для поиска и установки плагинов.

Vundle не полностью выполняет мои требования, но движется в правильном направлении, что мне кажется хорошей отправной точкой.

Вот обсуждение и другое сравнение между менеджерами плагинов vim автором VAM MarcWeber.

25 голосов
/ 18 марта 2010

Есть также pathogen.vim

http://www.vim.org/scripts/script.php?script_id=2332

Хотя это не совсем то, о чем вы просите, оно предоставляет средства для управления извлечениями из ваших github и bitbucket.

Это хорошо, так как разделяет структуру каталогов плагина. Таким образом, вы можете проверить хранилище плагина и получить надлежащий контроль версий, а не полагаться на сопровождающего для обновления кода. Кроме того, он не полагается на автора плагина для установки / упаковки, как того требуют другие параметры.

Есть некоторые другие плагины на vim.org, которые выполняют эту задачу, хотя я не могу найти их в данный момент

12 голосов
/ 17 марта 2010

Сейчас я использую созданную вручную настройку, но постоянно повторяю, что иногда нужно попробовать (ссылки все связаны с одним и тем же плагином):

  1. vim-addon-manager : легко управлять и обновлять плагины; плагин от Marc Weber (@ vim.org)
  2. профиль GitHub Марка Вебера; у него есть несколько репозиториев, связанных с v-a-m
  3. Vim-plugin-manager @ Vim wiki - название страницы другое, но на самом деле подразумевается один и тот же плагин

Еще раз, я на самом деле еще не пробовал это сам, но это, безусловно, выглядит многообещающе.

5 голосов
/ 17 марта 2010

Vim.org + Vimballs + GetLatestVimScripts специально создан для управления плагинами vim на данный момент.

:h GetLatestVimScripts

Недостатки:

  • неподдержка Windows (GetLatestVimScripts использует wget AFAIR)
  • vim.org имеет множество плагинов, которые не поддерживаются GLVS и Vimball.
3 голосов
/ 23 апреля 2013

Проверьте NeoBundle , лучший менеджер пакетов для vim. Это вилка из Vundle .

2 голосов
/ 29 марта 2012

Я написал инструмент под названием "vimpyre", он мог искать, устанавливать, удалять, обновлять плагин vim, используя сервис GitHub. https://github.com/pct/vimpyre

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...