Відповіді:
Щоб встановити плагін, ми повинні знати, в яку форму він входить. Це може бути:
.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 в наші дні.