Emacs 24 похоже, у него будет пакет менеджер. Какие варианты управления пакетами существуют для Vim?
Управление пакетами (плагинами) для Vim
Ответы (7)
Сейчас я использую VimPlug для моя собственная установка Vim, которую я однозначно рекомендую. Установка очень проста, и это быстро, красиво и эффективно!
Раньше я рекомендовал Vundle в этом ответе. Но Vundle больше не поддерживается, и есть лучшие альтернативы.
Раньше управление плагинами для vim было проблемой традиционным способом, когда файлы плагинов распространялись по всему личному каталогу среды выполнения vim, например. ~/.vim
для системы *nix. После того, как плагин установлен, его трудно обновить, потому что нет простого способа удалить устаревшие файлы плагина, что является необходимым шагом.
В начале я хотел бы перечислить свои личные требования к тому, каким должен быть хороший инструмент управления плагинами:
- должен быть написан на чистом VimL
- должны устанавливать плагины в свой собственный каталог
- должен автоматически загружать плагины при запуске vim, приятно загружать по мере необходимости
- должен иметь встроенный метод установки, обновления и удаления плагинов
- приятно иметь встроенный метод поиска нужных плагинов
- должен иметь возможность объявлять необходимые плагины в файле
- хорошо иметь механизм решения зависимостей
Существует множество реализаций (Vim-Scripts.org имеет всесторонний обзор всех доступных инструментов), я расскажу только о нескольких основных инструментах в порядке их создания.
vimball был первой попыткой решить проблему и на самом деле был наполовину -официальное решение, что многие плагины долгое время поставлялись вместе с пакетом *.vba
. В сочетании с GetLatestVimScripts это сформировало традиционный способ управления плагинами vim.
Несмотря на это, проблема оставалась до тех пор, пока Тим Поуп не обратился к возбудитель(Github Repo), который помещает каждый плагин в свой собственный каталог и загружает их при запуске, изменяя «rtp (путь времени выполнения)» vim. Это большой прогресс в сочетании с vim-scripts.org, размещенным на git/github, и другими инструментами (например, vimmer), он формирует современный способ управления подключаемыми модулями vim. На эту тему есть много статей и видео.
В качестве плагина, который управляет плагинами, в pathogen по-прежнему отсутствуют некоторые основные функции, такие как поиск, установка, обновление и удаление плагинов. В результате VAM(Vim-Addon-Manager)(Github Repo). VAM предоставляет почти все необходимое для управления плагинами: размещает файлы плагинов в своем собственном каталоге, загружает плагины при запуске vim, выполняет поиск/установку/обновление/удаление плагинов в командной строке ex, написан на чистом VimL, поддерживает свою собственную центральную информационную базу данных плагинов, даже разрешает зависимости плагина. Кажется, что VAM должен быть тем, что нам нужно в качестве полнофункционального менеджера плагинов vim, но, с моей точки зрения, подход, который использует VAM, немного неэлегантен, а иногда и переработан. Хотя это все еще замечательный плагин, и его стоит использовать.
Затем появился tplugin от Тома Линка (Репозиторий Github), который улучшил патоген за счет загрузки подключаемых модулей только при вызове связанных команд или функций, подобно При необходимости. Кроме того, у него есть какой-то механизм решения зависимостей, который кажется приятным.
Наконец, Гмарик создал Vundle (Github Repo), который является преемником патогена Тима Поупа и вдохновлен Bundler, он обеспечивает улучшенный пользовательский интерфейс и дополнительные функции управления. Vundle для Vim очень похож на Bundler для Ruby Project. Имея необходимые плагины, объявленные в vimrc, vundle обрабатывает все остальное, включая установку/обновление и удаление плагинов, через интерфейс командной строки ex. Самое главное, vundle реализован на чистом VimL. С помощью vundle управлять конфигурацией vim на нескольких компьютерах можно с помощью простого файла vimrc. Как современный инструмент управления плагинами, vundle использует Git и может устанавливать плагины прямо из Github. Vundle также предоставляет интересный интерактивный интерфейс для поиска и установки плагинов.
Хотя Vundle не полностью соответствует моим требованиям, но он движется в правильном направлении, что кажется мне хорошей отправной точкой.
Вот обсуждение и другое сравнение менеджеров плагинов vim Автор VAM MarcWeber.
Также есть pathogen.vim
http://www.vim.org/scripts/script.php?script_id=2332
Хотя это не совсем то, о чем вы просите, оно предоставляет средства для управления проверками из ваших github и bitbucket.
Это хорошо, поскольку разделяет структуру каталогов плагина. Таким образом, вы можете проверить репозиторий плагина и получить надлежащий контроль версий, а не полагаться на сопровождающего для обновления кода. Кроме того, автор плагина не полагается на установку/упаковку в соответствии с другими указанными параметрами.
На vim.org есть несколько других плагинов, которые выполняют эту задачу, хотя я не могу их найти на данный момент.
Сейчас я использую самодельную настройку, но я продолжаю убеждать себя когда-нибудь попробовать (все ссылки относятся к одному и тому же плагину):
- vim-addon-manager: легко управлять плагинами и обновлять их; плагин Марка Вебера (@ vim.org)
- профиль GitHub Марка Вебера; у него есть несколько репозиториев, связанных с v-a-m
- Vim-plugin-manager @ Vim wiki -- имя страницы разные, но на самом деле имеется в виду один и тот же плагин
Еще раз, я еще не пробовал это сам, но это, безусловно, выглядит многообещающе.
Vim.org + Vimballs + GetLatestVimScripts в настоящее время предпочтительнее встроены для управления плагинами vim.
:h GetLatestVimScripts
Плохие вещи об этом:
- не поддерживает Windows (GetLatestVimScripts использует wget AFAIR)
- На vim.org есть много плагинов, которые не поддерживают GLVS и Vimball.
Все эти ответы кажутся довольно старыми. Как описано в этом ответе на аналогичный вопрос,
И Vim 8.0, и Neovim имеют собственный встроенный менеджер пакетов.
Нет необходимости в другом менеджере плагинов.
Пользуюсь уже год или два и мне кажется все просто и легко.
Вот несколько ресурсов о его преимуществах и способах его использования:
:help packages
в ВИМ- https://shapeshed.com/vim-packages/
- https://dev.to/iggredible/how-to-use-vim-packages-3gil
- https://medium.com/@paulodiovani/installing-vim-8-plugins-with-the-native-pack-system-39b71c351fea
Попробуйте NeoBundle, лучший менеджер пакетов для vim. Это ответвление Vundle.