2010-03-16 3 views
70

Emacs 24 looks like it will have менеджер пакетов. Какие варианты управления пакетами существуют для Vim?Пакет (плагин) Управление для Vim

+1

Что такое менеджер пакетов в этом контексте? Что-то вроде VimExplorer? –

+0

Что-то, что установит и управляет сторонними плагинами из центрального репозитория. – ntimes

+1

ну, vim имеет центральное репо (vim.org), систему пакетов (vimballs) и скрипты, которые проверяют, есть ли у вас последний и самый большой (некоторые из них, не помнят имена сейчас) ... что еще ты хочешь ? :-) – Rook

ответ

12

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

  1. vim-addon-manager: управление и обновлять плагины легко; плагин от Марка Вебера (@ vim.org)
  2. GitHub profile Марка Вебера; у него есть ряд VAM связанных РЕПО
  3. Vim-plugin-manager @ Vim вики - название страницы отличается, но на самом деле тот же плагин предназначен

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

5

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

:h GetLatestVimScripts 

Плохие вещи о нем:

  • не поддерживает ОС Windows (GetLatestVimScripts использует Wget Afair)
  • vim.org имеет много плагинов, которые не GLVS и Vimball осведомленных.
+7

Вы можете установить wget на Windows, если вы смогли установить Vim на Windows :) – wRAR

25

Там также pathogen.vim

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

Хотя его не совсем то, что вы просите за это предоставляет средства для управления извлечений из вашей GitHub-х и Bitbucket годов.

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

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

81

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

VimPlug video

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

+0

Автор прекратил поддерживать vundle http://gmarik.info/blog/2014/02/04/why-i-stopped-contributing-to-vundle. вы все еще можете видеть вклады в github, но может быть, кто-то более осведомленный может прокомментировать будущее vundle. –

+0

Он кажется немного раздраженным, что NeoBundle в основном просто скопировал свой код вместо того, чтобы сделать вилку. Но если он больше не поддерживает его, возможно, NeoBundle возьмет верх? – Jostein

+0

Репо GitHub кажется активным для меня. Кроме того, в комментариях к ссылке в вашем обновлении кажется, что кто-то помог. –

2

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

+3

FWIW, vimpyre больше не работает, так как github перешел на новый API. Они также очень скупы в отношении ограничения скорости и блокирования не аутентифицированных запросов API. :( – synthesizerpatel

33

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

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

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

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

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

Несмотря на то, что проблема до сих пор остается до Tim Pope «s pathogen (Github Repo), который помещает каждый плагин в свой собственный каталог и загружает их при запуске путем изменения„РТП (runtimepath)“в Vim, обнаружился. Это большой прогресс - в сочетании с vim-scripts.org hosted by 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), который является преемником Тима патогена Папу вдохновения от Руби Bundler, это обеспечивает лучший пользовательский интерфейс и дополнительные функции управления. Vundle to Vim очень похож на Bundler на Ruby Project.Имея необходимые плагины, объявленные в vimrc, vundle обрабатывает все остальное, включая установку/обновление и удаление плагинов, через интерфейс командной строки ex. Самое главное, что vundle реализован в чистом VimL. С помощью vundle управление конфигурацией vim на нескольких компьютерах может быть выполнено с помощью простого файла vimrc. Как современный инструмент управления плагинами, vundle полагается на Git и может устанавливать плагин непосредственно из Github. Vundle также предоставляет фантастический интерактивный интерфейс для поиска и установки плагинов.

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

Вот a discussion и another comparison between vim plugin managers автором VAM в MarcWeber.

+2

, следуя этому замечательному ответу, [Neobundle] (https://github.com/Shougo/neobundle.vim) кажется логической эволюцией от Vundle –

+0

Отлично, у вас есть история о том, как развивались менеджеры пакетов vim - очень полезно, и я рад, что я использую Vundle, поскольку у меня нет сложных требований. – RichVel

+0

@RichVel, наоборот, я рад, что использую VAM , так как у меня есть одно очень сложное требование: я хочу, чтобы это было очень просто использовать изо дня в день. Довольно легко добавлять новые плагины, невзирая на то, что они еще не все готовы в индексе ([ВИМ-пи] (https: // Bitbucket.org/vimcommunity/vim-pi)) – jpaugh

3

Отъезд NeoBundle, конечный менеджер пакетов для vim. Это вилка Vundle.

+4

В чем разница между ними? –

+0

Из NeoBundle readme: «Активное развитие на NeoBundle прекратилось. Единственными будущими изменениями будут исправления ошибок». – icc97

 Смежные вопросы

  • Нет связанных вопросов^_^