- PVSM.RU - https://www.pvsm.ru -

Vundle. Менеджер плагинов для Vim

Удобное управление пакетами. Обновление в одно касание. Простота и элегантность. Обо всем этом под катом.

Задача

Как правило, .vim каталог имеет несколько подкаталогов для ftplu­g­ins, для плагинов, для документов и т. д. Проблема с которой сталкиваются пользователи в этом случае: для того чтобы обновить скрипт надо выяснить, какие файлы поставлялись вместе с плагином, удалить эти файлы, затем переустановить плагин. Результат — лень. Пользователи не обновляют плагины и неохотно пробуют новые. Vim без плагинов — это не Vim.

Pathogen. Шаг в правильном направлении

Одним из решений является Pathogen. Pathogen делает ваш .vim каталог аккуратным. Вместо того, чтобы один плагин распространялся через несколько подкаталогов, Pathogen позволяет вам положить каждый плагин в его собственный каталог. Таким образом, вместо этого:

/.vim
/.vim/ftplugin
/.vim/ftplugin/plugin1.vim
/.vim/ftpluginplugin2.vim
/.vim/syntax
/.vim/syntax/plugin1.vim
/.vim/syntax/plugin2.vim

Вы имеет это:

/.vim
/.vim/bundle
/.vim/bundle/plugin1
/.vim/bundle/plugin1/ftplugin
/.vim/bundle/plugin1/ftplugin/plugin1.vim
/.vim/bundle/plugin1/syntax
/.vim/bundle/plugin1/syntax/plugin1.vim
/.vim/bundle/plugin2
/.vim/bundle/plugin2/plugin
/.vim/bundle/plugin2/plugin/plugin2.vim
/.vim/bundle/plugin2/syntax
/.vim/bundle/plugin2/syntax/plugin2.vim

Также можно расширить возможности Pathogen используя Git подмодули [1] или так Обновление плагинов Pathogen [2]. Но, сам по себе, Pathogen только организует удобную структуру каталогов.

Vundle. Лучшее решение

Vundle [3] является, по существу, пакетным менеджером для Vim, таким как Bunlder для Ruby. Этот плагин организует структуру каталогов также, как и Pathogen. Но в отличии от него позволяет:

  • отслеживать и настраивать скрипты прямо в. vimrc
  • устанавливать настроенные скрипты (aka bundle)
  • обновление настроенных скриптов
  • поиск по имени всех имеющахся vim скриптов
  • очистка от неиспользуемых скриптов
  • запускать вышеуказанные действия в одно нажатие в интерактивном режиме

image

Руководство по установке в Vundle readme написано просто и понятно, поэтому сдесь только краткая выжимка:

Установка Vundle:

$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

Добавляем следующие строки в ваш .vimrc:

set nocompatible
filetype off " обязательно!

set rtp+=~/.vim/vundle.git/

call vundle#rc()

filetype plugin indent on " обязательно!

Следующие строки, по сути, просто пример, не стоит о них беспокоится:

" оригинальные репозитории на github

Bundle 'tpope/vim-fugitive'
Bundle 'lokaltog/vim-easymotion'
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}

" репозитории vim-scripts
Bundle 'L9'
Bundle 'FuzzyFinder'
Bundle 'rails.vim'

" не github репозитории
Bundle 'git://git.wincent.com/command-t.git'

Стандартная формула это: Bundle "источник".

Здесь у нас есть список плагинов, которые вы можете использовать. Первые три — те, что вы загружаете с githhub. Вам только нужно записать username/repo_name для них. Вторые три — имена скриптов, используемые на vim​.org сайте. Вам нужно только дать имя для них. Последние примеры — примеры для git репозиториев, которые живут не на github.

Теперь у вас есть список плагинов, которые вы хотите использовать в .vimrc. Что дальше? Открываем Vim и выполняем команду :BundleInstall. Это установит все плагины записанные в вашем .vimrc.

Установка плагина даволе проста. Обновление плагинов также просто: :BundleInstal обновит все ваши плагины. Если вы хотите удалить плагин, то удалите его из вашего .vimrc (вы можете его закоментировать). Затем запустите :BundleClean.

Чтобы лучше справляться с плагинами нужно знать их всех по именам, что не всегда просто. Посмотреть список установленных плагинов можно при помощи команды :BundleList.

Последний штрих в пользу менеджера плагинов Vundle — это поиск. :BundleSearch foo поможет вам в поиске(или первоначальном обновлении кэша) для пакета foo.

" Краткая справка
" :BundleList — список конфигурированных bundles
" :BundleInstall — установить(обновить) bundles
" :BundleSearch foo — поиск(или первоначальное обновление кэша) для foo
" :BundleClean — подтверждение(или авто-одобрение) удаления неиспользуемых bundles
"
" :h или Vundle Wiki [4] — для большей информации

«Пользователям Windows смотреть Vundle for Windows [5]

Источники:
Репозиторий на github [3].
Статья [6], которая сподвигла меня написать этот пост.

Автор: vihryn


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/vim/12228

Ссылки в тексте:

[1] Git подмодули: http://vimcasts.org/episodes/synchronizing-plugins-with-git-submodules-and-pathogen/

[2] Обновление плагинов Pathogen: http://habrahabr.ru/post/116523/

[3] Vundle: https://github.com/gmarik/vundle/

[4] Vundle Wiki: https://github.com/gmarik/vundle/wiki

[5] Vundle for Windows: https://github.com/gmarik/vundle/wiki/Vundle-for-Windows

[6] Статья: http://www.charlietanksley.net/philtex/sane-vim-plugin-management/