Emacs 24 похоже, что у него будет менеджер пакетов. Какие варианты управления пакетами существуют для Vim?
Управление пакетами (плагинов) для Vim
Ответ 1
Теперь я использую VimPlug для мой собственный Vim setup, и я определенно рекомендую его. Установка очень проста, и она быстро, красиво и эффективно!
В этом ответе я рекомендовал 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