Я просматривал различные менеджеры пакетов для vim и тот, который решил использовать vim-plug, но я видел других, таких как pathogen и vundle, и я, честно говоря, не знаю, в чем разница.
Может ли кто-нибудь дать мне краткий обзор различий, чтобы я мог решить, что лучше для меня?
plugin-managers
ZucchiniZe
источник
источник
Ответы:
vim-plug - это хорошая альтернатива Vundle, она несколько отличается от технической точки зрения, что должно сделать ее быстрее ( см. это ). У этого есть большинство (или все?) Особенностей Vundle.
+ruby
,+python
или Neovim. Возврат к последовательному режиму с использованием Vimscript, если ни один не доступен.Чтобы начать использовать это:
И в вашем vimrc:
Тогда дайте команду
установить перечисленные плагины.
источник
:PlugInstall
о новом плагине; даже официальные документы немного скрывают это...\vim81\autoload\..
и нет..\.vim\autoload\..
.Патоген прост. По сути это просто делает:
Плюсы:
Минусы:
Чтобы установить его, скачайте
pathogen.vim
на~/.vim/autoload
:И добавьте в свой
.vimrc
:Если вам не нравится сходить с ума, звоните только
:Helptags
тогда, когда вам нужно.Плагины затем добавляются в
~/vim/bundle
.источник
Vundle является более сложным. Это менеджер пакетов а-ля
apt
илиyum
для плагинов. Может:Установить:
А затем добавьте в свой
.vimrc
:Чтобы установить плагин, используйте
Plugin
команду в.vimrc
(больше примеров на Github README):А потом звоните
:PluginInstall
из.vim
(илиvim +PluginInstall +qall
).источник
dein.vim : В качестве продолжения этого вопроса я добавлю сюда менеджер плагинов, созданный известным Shougo.
Согласно README, плагин имеет следующие зависимости:
Vim >7.4 or neovim
: хотя поддерживать Vim в актуальном состоянии - это хорошо, для некоторых пользователей может быть проблематично, что предыдущие версии не поддерживаютсяgit
: что довольно распространено для менеджера пакетовrsync
: который не так распространен, как gitАвтор утверждает, что это быстрее, чем NeoBundle. Эталон можно найти на странице readme проекта .
Одна оригинальная концепция этого менеджера плагинов является то , что он не дает каких - либо команд, но только функции: например, для обновления плагинов вы не можете использовать что - то вроде
:PlugUpdate
, вы должны позвонить::call dein#update()
. Честно говоря, я не нашел объяснения этому выбору дизайна.Также кто-то создал плагин, который предоставляет эти «недостающие» команды. Я понятия не имею, если это хорошая идея, или это противоречит основной идее менеджера плагинов, но автор упоминает об этом в FAQ файла документации.
Dein.vim поддерживает получение плагинов из Github (с облегченным доступом к плагинам из vimscript.org) и из локальных каталогов.
Менеджер плагинов предоставляет некоторые классические функции, такие как обновление и отключение плагинов. Это также позволяет выполнять крючки во время установки.
Обратите внимание, что в соответствии с часто задаваемыми вопросами кажется, что вам нужно вручную создавать теги помощи устанавливаемых им плагинов.
Интересным моментом является то, что автор хочет, чтобы dein.vim легко тестировался и поддерживался, поэтому репозиторий также содержит несколько тестовых скриптов.
Наконец, я бы сказал, что этот менеджер плагинов выглядит легким и быстрым, что интересно, но я думаю, что он менее удобен для пользователя, чем, например, vim-plug или Vundle .
Да, Shougo также описывает dein.vim как «Менеджер плагинов Dark Vim / Neovim», если кто-то знает, что это значит, не стесняйтесь редактировать этот ответ: мне любопытно ;-)
источник
И Vim 8.0, и Neovim имеют свой встроенный менеджер пакетов. В Vim 8.0 создайте следующие каталоги:
.vim/pack/*/start
где*
любое имя, которое вы хотите использовать; например.vim/pack/jimmy/start
.Клонируйте свой плагин в стартовый каталог, как если бы вы использовали патоген.
С Neovim каталоги немного длиннее:
.local/share/nvim/site/pack/*/start
, Оттуда сделайте то же самое, что и для Vim.Нет необходимости в другом менеджере плагинов.
В Vim или Neovim бегите
:h packages
немного подробнее. Прочитайте часть о цветах, потому что они разные, хотя и не сильно. Вам не нужны дополнительные инструкции в ваших.vimrc
или вашихnvim/init.vim
файлах.Надеюсь, это поможет.
источник
Особенно мне нравится VAM для его самостоятельного развертывания: все, что вам нужно, это ваш,
.vimrc
а затем запустить vim.Таким образом, вам не нужна
To Install
строка, используемая большинством других менеджеров плагинов (первый шаг установки самого менеджера плагинов).источник
Что касается меня, я хочу, чтобы менеджер плагинов, который я использую, поддерживал зависимости.
Причины в том, что я поддерживаю несколько плагинов и у меня много взаимозависимостей: универсальная библиотека используется всеми, механизм шаблонов / сниппетов используется набором C ++, плагин рефакторинга также использует плагин ctags library-plugin , и так далее. Требование от конечного пользователя выполнить до 10 строк для установки интересующих его плагинов не кажется мне хорошим решением.
Пока что я знаю только два таких плагина: vim-addon-manager и NeoBundle . VAM разослал свой код базы данных vim-pi после многих обменов в официальном списке рассылки vim. Идея заключалась в том, что NeoBundle (и любой другой плагин, заинтересованный в управлении зависимостями) может в конечном итоге использовать vim-pi.
Я недавно сталкивался с vim-flavor, который также обрабатывает зависимости. По теме проверяет версии плагинов, чтобы установить правильные.
Примечание: так как мой первоначальный ответ,
AFAIK, ни один из этих плагинов не клонирует / устанавливает / обновляет плагины в фоновом режиме / параллельно. Поскольку я не устанавливаю новую среду vim и не обновляю установленные мной плагины раз в месяц, честно, мне все равно. Они конечно обновляют
'helptags'
, заботятся'rtp'
и так далее.источник
vim-plug
В README есть пример: «Групповые зависимости». Вы пробовали это, или это отличается от методов VAM / NeoBundle?Большинство из этих менеджеров плагинов отлично справляются с управлением плагинами, но оставляют головную боль управления ими
vimrc
. Если у вас несколько машин и вам нужна одна и та же конфигурация, Vire делает это очень просто. Вам не нужно git или разобраться с подмодулями или какими-либо дополнительными усилиями для настройки или миграции.pip install vire
vimrc
на Github как гист и сохраните его тамvire -i
установить последнюю версию Vim или (Neovim с-i -n
)" Plug 'tpope/vim-unimpaired'
vire gistID
Затем запустите в
vire
любое время, когда вы хотите, чтобы вашиvimrc
или плагины были обновлены или-i
также обновили приложение.Vire использует функцию Vim / Neovim
pack
для загрузки плагинов. Вы также можете продолжать использовать существующий менеджер плагинов, но используйте Vire для установки только Vim, thevimrc
и самого менеджера плагинов, если хотите.источник
Для людей, которым нужен полноценный менеджер плагинов, использующий Pathogen, существует также apt-vim. Вы можете установить его с помощью
curl -sL https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh | sh
(как описано здесь: https://www.linuxsecrets.com/1715-vi-editor-tips-trick-and-secrets-into-the-vi-vim-editor-part-ii ). После установки вы можете просто ввести имя,apt-vim install
а затем имя хранилища пакетов, аналогично менеджеру пакетов Ubuntu apt.источник
curl URL |sh
. Я бы никогда не предложил никому запустить какой-нибудь случайный код из Интернета. На самом деле это плохой навык безопасности.Я искал способ использования,
pathogen
но легко обновлял и делал его переносимым, поэтому, возможно,bash
сценарий может быть полезен (используяvim-plug
функциональность) -И тогда пример
.vimrc.bundle
-источник