Emacs 24, схоже, матиме менеджер пакетів. Які варіанти управління пакетами існують для Vim?
Emacs 24, схоже, матиме менеджер пакетів. Які варіанти управління пакетами існують для Vim?
Відповіді:
Управління плагінами для vim раніше було болем традиційним способом, розповсюджуючи файли плагінів по всьому особистому каталогу виконання vim, наприклад. ~/.vim
для системи * nix. Після встановлення плагіна його важко оновити, оскільки немає простого способу видалити застарілі файли плагінів, що є необхідним кроком.
На початку я хотів би перерахувати мої особисті вимоги щодо того, яким має бути прекрасний інструмент управління плагінами:
Існує безліч реалізацій ( Vim-Scripts.org містить вичерпний підсумок усіх доступних інструментів), я розповім лише про декілька основних інструментів за їх порядком створення.
vimball був першою спробою вирішити проблему і насправді був напівофіційним рішенням, яке багато плагінів *.vba
тривалий час постачалося разом із пакетом. У поєднанні з GetLatestVimScripts це сформувало традиційний спосіб управління плагінами vim.
Незважаючи на те , що проблема до цих пір залишається до Tim Папі «s патогена ( Github Repo ), який поміщає кожен плагін в свій власний каталог і завантажує їх при запуску шляхом зміни" РТП (runtimepath) "в Vim, виявився. Це великий прогрес - у поєднанні з vim-scripts.org, розміщеним на git / github та іншими інструментами (наприклад, vimmer ), він утворює сучасний спосіб управління плагінами vim. На цю тему є багато статей та відео.
Як плагін, який керує плагінами, патоген все ще не має деяких основних функціональних можливостей, таких як пошук, встановлення, оновлення та видалення плагінів. Як результат, VAM (Vim-Addon-Manager) ( Github Repo ) вийшов. VAM надає майже все, що потрібно для роботи з плагінами: розміщує файли плагінів у власному каталозі, завантажує плагіни під час запуску vim, шукає / встановлює / оновлює / видаляє плагіни в ex-командному рядку, написаному в чистому VimL, підтримує власну базу даних плагінів, навіть вирішує залежності плагіна. Здається, VAM повинен бути тим, який нам потрібен як повнофункціональний менеджер плагінів vim, але з моєї точки зору, підхід, який застосовує VAM, є трохи неелегантним, а іноді і надмірно розробленим. Хоча це все ще чудовий плагін, який варто використовувати.
Потім з’явився tplugin Тома Лінка ( Github Repo ), який покращив патоген, завантажуючи плагіни лише тоді, коли викликаються відповідні команди або функції, подібні до AsNeeded . Крім того, він має якийсь механізм вирішення залежностей, який здається приємним.
Нарешті, Гмарік створив 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.
Також є патоген.вим
http://www.vim.org/scripts/script.php?script_id=2332
Хоча це не зовсім те, про що ви просите, воно забезпечує засіб управління оплатами з вашого github та bitbucket.
Це добре, оскільки воно відокремлює структуру каталогів плагіна. Таким чином, ви можете перевірити сховище плагіна та отримати належний контроль версій, а не покладатися на те, що підтримує, щоб оновити код. Крім того, він не покладається на автора плагіна для налаштування / пакетування, як вимагають інші цитовані параметри.
На vim.org є деякі інші плагіни, які виконують це завдання, хоча наразі я їх не можу знайти
Поки що я використовую власноруч створену установку, але я постійно повторюю собі, щоб колись зробити це (всі посилання пов’язані з одним і тим же плагіном):
Ще раз, я насправді ще не пробував цього, але це, безумовно, виглядає багатообіцяючим.
Vim.org + Vimballs + GetLatestVimScripts - це вбудований спосіб управління плагінами vim на даний момент.
:h GetLatestVimScripts
Погані речі:
Усі ці відповіді здаються досить старими. Як описано у цій відповіді на подібне запитання ,
І Vim 8.0, і Neovim мають власний вбудований менеджер пакетів
Інший менеджер плагінів взагалі не потрібен.
Я користуюся ним рік-два, і це здається мені простим і легким.
Ось декілька джерел про його переваги та способи використання: