Управление пакетами (плагинов) для Vim

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

Ответ 1

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

VimPlug video

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

Ответ 2

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

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

  • записывается в чистом VimL
  • должен устанавливать плагины в свой каталог
  • должен автоматически загружать плагины, когда запускается vim, приятно загружать при необходимости
  • должен иметь встроенный метод установки, обновления и удаления плагинов
  • Приятно иметь встроенный метод поиска необходимых плагинов
  • должен иметь возможность объявлять необходимые плагины в файле
  • Приятно иметь механизм решения зависимостей

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

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

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

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

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

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

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

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

Ответ 3

Там также pathogen.vim

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

Хотя это не то, что вы просите об этом, это средство для управления проверками с вашего github и bitbucket's.

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

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

Ответ 4

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

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

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

Ответ 5

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

:h GetLatestVimScripts

Плохие вещи об этом:

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

Ответ 6

Откажитесь от NeoBundle, конечного менеджера пакетов для vim. Это вилка Vundle.

Ответ 7

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