Ответы:
Чтобы установить плагин, нам нужно знать, в какую форму он входит. Это может быть:
.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.
Вы можете добавить
этот фрагмент из FAQ в ваш файл 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?
Pathogen - это менеджер путей выполнения, который загружает плагины в 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
* Предостережение: если ваш плагин представлен в виде .vim
файла, он не будет работать с Pathogen. ~/.vim/plugin
Вместо этого скопируйте его (возможно, вам придется создать этот каталог, если он не существует).
git submodule add
(вместо git clone
), если ваша конфигурация vim уже является частью вашего собственного проекта git.
runtimepath
опцией и все. Он вообще не занимается обновлением, добавлением, извлечением, удалением плагинов.
Версия 8 представляет новый механизм пакетов, который в значительной степени заменяет необходимость в существующих менеджерах плагинов (pathogen, 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
работает хорошо, чтобы установить для всех пользователей. Вам может потребоваться разрешение root для копирования файла сюда (с префиксом 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
каталоги, обеспечивая лучшее из собственных коробок по умолчанию для конфигов сайта.
Vire использует новейший формат пакета для установки плагинов и поддерживает Vim и Neovim. Вам не нужно знать, где что-нибудь идет. Просто предоставьте vimrc, а Vire позаботится обо всем остальном.
vi
на любом современном поле, вероятно, будет запущенvim
с некоторыми отключенными функциями. Я сомневаюсь, что многие люди имеют доступ к настоящему Vi в эти дни.