Відповіді:
Щоб встановити плагін, ми повинні знати, в яку форму він входить. Це може бути:
.vimфайлplugin/*, syntax/*тощо) ( що робить плагін Vundle сумісним, а інші менеджери плагінів є взаємозамінними? )Один .vimфайл повинен бути розміщений в .vim/pluginкаталозі.
Файл Vimball можна встановити , відкривши його у Vim та запустивши :source %.
Набір файлів у стандартному макеті каталогів можна встановити, скопіювавши їх .vim, або за допомогою диспетчера пакунків плагінів .
Плагіни можуть залежати від певних функцій. Тому:
Для більшості плагінів це може не мати значення.
Мені подобається використовувати менеджер плагінів vim-plug .
Проблема з встановленням плагіна вручну полягає в тому, що видалити плагін досить важко ; у вас часто є кілька різних файлів у різних каталогах, вам доведеться їх вручну знайти та видалити.
Проблеми з оновленням аналогічно складні: що робити, якщо autoload/old-name.vimйого перейменують autoload/new-name.vim? Тепер у вас є і стара, і нова версія плагіна.
vim-plugвирішує це, зберігаючи кожен плагін у власному каталозі; вона також включає в себе команду легко встановити / вилучити плагін, тому вам не доведеться обробляти розпакування плагінів тощо.
Ключовою перевагою vim-plug над Pathogen є те, що vim-plug дозволяє вам легше встановлювати та видаляти плагіни. Все, що робить Pathogen - це дозволяти кожному плагіну знаходитися в окремому вміщеному каталозі.
vim-plug покладається на git ; для MS Windows ви хочете msysgit .
Ви можете визначити плагіни у своєму vimrc так:
call plug#begin('~/.vim/plugged')
" For MS Windows, this is probably better:
"call plug#begin('~/vimfiles/plugged')
Plug 'embear/vim-localvimrc'
Plug 'kchmck/vim-coffee-script'
" ... etc
call plug#end()
Потім перезапустіть Vim та встановіть плагіни за допомогою:
:PlugInstall
Це дозволить розмістити плагіни ~/.vim/pluggedабо $HOME\vimfiles\pluggedдля MS Windows.
Ви можете додати
цей фрагмент із поширених запитань у файл vimrc перед plug#begin()викликом:
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall
endif
Зверніть увагу, curlдля цього вам потрібно працювати. Це майже завжди доступно в Linux та OSX, але не в MS Windows; тому цей трюк не буде працювати там ...
Щоб видалити плагін, вийміть його з файлу vimrc та запустіть:
:PlugClean
Зауважте, що vim-plug не підтримує встановлення скриптів з веб-сайту скриптів Vim, але ці сценарії відображаються в GitHub , тому не потрібно цього робити.
Також є деякі додаткові переваги до цього, такі як легше оновлення плагіна та завантаження на вимогу для кращої продуктивності. Ви також можете легко скопіювати свій vimrc на інший комп'ютер, запустити :PlugInstallта мати всі свої плагіни.
Зауважте, що більше менеджерів плагінів; Я випадково вживаю vim-plug. Дивіться також: Яка різниця між менеджерами пакунків vim?
Патоген - це менеджер шляху виконання, який завантажує плагіни у Vim. Це робить модуль плагінів простим; ось як це працює:
Примітка. Якщо ви використовуєте Windows, замініть ~/.vimна $HOME\vimfiles.
Скопіювати pathogen.vimв ~/.vim/autoload/pathogen.vim.
Створіть ~/.vim/bundleкаталог, якщо він уже не існує.
Додайте наступний рядок до самого початку вашого .vimrc:
execute pathogen#infect()
Ви закінчили! Коли ви хочете додати плагін, просто скопіюйте весь каталог плагінів до нього ~/.vim/bundleабо в git cloneнього. Наприклад:
cd ~/.vim/bundle
git clone https://github.com/tpope/vim-surround
* Caveat: Якщо ваш плагін випускається у вигляді .vimфайлу, він не працюватиме з Pathogen. Скопіюйте його ~/.vim/pluginзамість цього (можливо, вам доведеться створити цей каталог, якщо він не існує).
git submodule add(замість цього git clone), якщо ваша конфігурація vim вже є частиною вашого власного проекту git.
runtimepathваріантом, і це все. Він не займається оновленням, додаванням, завантаженням, видаленням плагінів.
У версії 8 представлений новий механізм пакетів, який значною мірою замінює потребу в існуючих менеджерах плагінів (патоген, vim-plug, vundle тощо) на момент написання (2017).
З документації :
Vim пакет являє собою каталог , який містить один або кілька полігонів
Каталог пакунків містить два підкаталоги:
start/ - містить плагіни, які автоматично завантажуютьсяopt/ - містить плагіни, які завантажуються за запитом :packaddЦе може здатися трохи складним, але на практиці все, що вам потрібно зробити, це додати тут свій плагін :
↓ package name
~/ .vim / pack / bundle / start / some-plugin
↑ packages dir ↑ plugin dir
У Windows : використовувати ~\vimfiles\pack\замість~/.vim/pack/
За умовою, ми використовували назву пакета "bundle" як каталог, який буде містити всі наші плагіни. Ви можете використовувати будь-яке ім’я, яке ви хочете, і навіть можете помістити свої плагіни в окремі каталоги пакетів, якщо ви дійсно хочете.
mkdir -p ~/.vim/pack/bundle/start
cd ~/.vim/pack/bundle/start
git clone https://github.com/tpope/vim-sensible.git
У Windows : використовувати ~\vimfiles\pack\замість~/.vim/pack/
Наступного разу, коли ви запустите Vim, плагін завантажиться автоматично.
.vimзнаходиться під контролем версій, може бути краще встановити плагіни з підмодулями git; дивіться shapehed.com/vim-packages/#adding-a-package .
Не забуваймо великого і могутнього Вундла !
Vundle - це повний менеджер плагінів з функціональністю для:
:PluginSearch):PluginInstall):PluginUpdate):PluginClean)Як бачите, це дуже нагадує менеджер vim-plug менеджерів, згаданий Carpetsmoker. Я не знаю, хто з них став першим, але їх API виглядають дуже схоже на мене, як і процес налаштування .
.vimrc, тому при встановленні на новому сервері все, що вам потрібно, - це установка Vundle + ваша .vimrcустановка для всього. Крім того, ви можете коментувати свої плагіни та очищати їх, але зможете прокоментувати їх через місяці чи роки пізніше, коли ви давно забули їхні імена.
Швидше за все, ваш плагін буде єдиним .vim-файлом.
Якщо це так, я шукав допомогу та експериментував і з'ясовував наступне. Зсередини vim (командний режим) введіть:
:set runtimepath
Це покаже вам низку каталогів. Деякі з цих каталогів матимуть pluginпідкаталог. Якщо розмістити будь-який .vim-файл у одному з цих pluginпідкаталогів, він автоматично завантажується, коли ви запустите vim з будь-якого місця.
Для мене, на Ubuntu linux, я виявив, що /usr/share/vim/vim74/pluginдобре працював, щоб встановити для всіх користувачів. Вам може знадобитися кореневий дозвіл, щоб скопіювати сюди файл (префікс свого cpчи mvкоманду sudo).
vim74, а це означає, що це версія, що стосується версії, тому оновлення до Vim 8.0 втратить цей плагін. Більш стійким для оновлення способом було б скористатися /etc/vim/для цього (створити його, якщо його немає, і додати цей шлях до, runtimepathякщо він не доступний /etc/vimrc)
Most likely, your plugin will be a single .vim fileЯ не згоден. Переважна більшість плагінів постачається з .txtфайлом, що містить документ, і вам потрібно створити теги, щоб отримати функціональний документ. Також багато плагінів постачаються з autoloadкаталогом. Я думаю, що використання диспетчера плагінів є кращим рішенням, ніж управління runtimepath вручну
/usr/share/vim/vimXX- це час виконання акцій і не місце для конфігурації сайту / плагінів. Натомість конфігурації / плагіни сайтів слід розміщувати там, де $VIMв цій системі є точки (див. :h vimfiles). Зазвичай це /usr/share/vimстосується Ubuntu і має посилання на /etc/vim. Загалом, /usr/local/це фактичне місце для конфігурації сайту за межами менеджера пакунків . Зауважте, що Neovim використовує $XDG_(CONFIG|DATA)_DIRSта siteкаталоги, надаючи кращі стандартні налаштування для конфігурацій сайту.
viна будь-якому сучасному вікні, ймовірно, буде лише запущенийvimіз вимкненими функціями. Сумніваюсь, що багато людей мають доступ до фактичних Vi в наші дні.