Поиск по сайту:

Как использовать Vundle для управления плагинами Vim на Linux VPS


Введение

Текстовый редактор vim — универсальный и очень мощный инструмент для работы с обычным текстом, управления файлами конфигурации системы и создания кода. В то время как модальное редактирование дизайна и элегантная грамматика самого редактора нравятся его пользователям, его интерфейсу и функциональности иногда не хватает тонкостей, которые хотелось бы некоторым пользователям.

К счастью, vim также включает плагин или скрипт, систему, которую можно использовать для расширения редактора различными способами. Они реализованы в виде простых файлов конфигурации, которые хранятся в подкаталогах каталога ~.vim в соответствии с их назначением. Когда вы добавляете больше плагинов, они могут стать довольно грязными, и может быть трудно хранить эти плагины отдельно и эффективно управлять ими.

По этой причине для vim было создано довольно много менеджеров плагинов, которые упрощают эту задачу. Менеджер плагинов, о котором мы будем говорить в этом руководстве, называется vundle и невероятно полезен для поддержания всех этих частей в порядке.

Мы рассмотрим, как использовать vundle на экземпляре VPS Ubuntu 12.04. Однако большинство дистрибутивов должны иметь возможность использовать эти инструкции без особых дополнительных усилий.

Установите утилиту

Прежде чем мы начнем изучать, как использовать vundle для управления плагинами vim, нам нужно установить все необходимые компоненты.

Во-первых, нам нужно обновить наш локальный индекс пакетов, а затем нам нужно убедиться, что vim установлен (это было бы полезно!) и что git доступен для получения дополнительных компоненты:

sudo apt-get update
sudo apt-get install vim git

Теперь, когда у нас установлены vim и git (у вас, вероятно, уже был установлен vim, если вы читаете эту статью), мы сделаем небольшой перерыв. перед установкой vundle, чтобы рассказать о том, как обычно работают плагины и как работает vundle для управления ими.

Как работает Вундл?

Традиционно vim настраивается отдельно для каждого пользователя в домашнем каталоге каждого пользователя, с резервными значениями по умолчанию, настроенными системным администратором и, наконец, самим программным обеспечением. Эти личные настройки хранятся в скрытом файле с именем ~/.vimrc.

Плагины и дополнительные файлы конфигурации, добавляющие функциональность, обычно добавляются в скрытый каталог ~/.vim. Внутри большинство плагинов организованы в подкаталоги в зависимости от функциональности, которую они предоставляют. Это могут быть такие вещи, как автозагрузка, плагин, цвета и т. д.

Итак, если вы используете встроенную систему плагинов vim, ваш домашний каталог может выглядеть примерно так:

ls -AR ~
/home/demouser:
.bash_history  .bash_logout  .bashrc  .profile  .vim  .vimrc

/home/demouser/.vim:
autoload  bitmaps  colors  doc  plugin  syntax

/home/demouser/.vim/autoload:
plugin1.vim  plugin2.vim

/home/demouser/.vim/bitmaps:
plugin1.png

/home/demouser/.vim/colors:
plugin2.vim

/home/demouser/.vim/doc:
plugin1.txt  plugin2.txt

/home/demouser/.vim/plugin:
plugin1.vim

/home/demouser/.vim/syntax:
plugin1.vim

Инструмент vundle на самом деле построен на другом диспетчере плагинов, называемом pathogen, и предоставляет расширенный набор функций. Менеджер pathogen упрощает управление плагинами, создавая отдельное дерево каталогов плагинов для каждого отдельного плагина.

Это означает, что вместо того, чтобы каждый плагин выбрасывал разные файлы в разные каталоги, смешивая их с другими плагинами, каждый плагин вместо этого воссоздает необходимую структуру каталогов внутри подкаталога, специфичного для плагина.

Они хранятся в подкаталоге с именем bundle. Вместо этого ваша структура каталогов будет выглядеть примерно так:

ls -AR ~
justin@vundle:~$ ls -AR ~
/home/justin:
.bash_history  .bash_logout  .bashrc  .profile  .vim  .vimrc

/home/justin/.vim:
autoload  bundle

/home/justin/.vim/autoload:
plugin1.vim  plugin2.vim

/home/justin/.vim/bundle:
plugin1  plugin2

/home/justin/.vim/bundle/plugin1:
autoload  bitmaps  doc  plugin  syntax

/home/justin/.vim/bundle/plugin1/autoload:
plugin1.vim

/home/justin/.vim/bundle/plugin1/bitmaps:
plugin1.png

. . .

Это создает более глубокую систему вложенности, но позволяет нам легко управлять нашими плагинами как единым целым. Если мы больше не хотим использовать \plugin1, мы можем просто сделать что-то вроде этого:

rm -rf ~/.vim/bundle/plugin1

Это значительно упрощает нашу схему управления. Это в основном то, что выполняет pathogen.

Что делает vundle, так это добавляет интерфейс управления внутри самого vim, который позволяет вам приобретать дополнительные плагины, обновлять плагины и т. д. Он добавляет часть «управления» поверх того, что некоторые люди сказали бы, что это улучшение организации pathogen.

Начать очистку и установить Vundle

Теперь, когда вы немного понимаете, как работает базовая система vundle, мы можем приступить к работе.

Во-первых, если у вас есть текущий файл ~/.vimrc и каталог ~/.vim, мы создадим их резервную копию и начнем заново. Это поможет нам свести к минимуму несовместимости и потенциальные проблемы:

if [ -e .vimrc ]; then mv .vimrc .vimrc_bak; fi
if [ -e .vim ]; then mv .vim .vim_bak; fi

После этого мы можем клонировать подключаемый модуль vundle непосредственно из GitHub, что воссоздаст часть нашей структуры каталогов ~/.vim:

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

Затем нам нужно воссоздать наш файл ~/.vimrc, чтобы указать vim использовать нашу новую систему управления пакетами.

vim ~/.vimrc

Внутри нам нужно несколько вещей, чтобы начать. Во-первых, нам нужно убедиться, что vim не пытается сохранить совместимость со своим предшественником vi. Это требование vundle. Когда vim пытается быть совместимым, он отключает большинство функций, благодаря которым его стоит использовать вместо vi.

Мы также хотим пока отключить элементы управления \filetype по умолчанию, потому что способ, которым vim кэширует правила типов файлов во время выполнения, мешает тому, как vundle изменяет среду выполнения. Мы изменим это позже:

set nocompatible
filetype off

Затем нам нужно настроить путь среды выполнения vim, чтобы включить местоположение vundle, которое мы клонировали из GitHub. После этого вызовем функцию инициализации vundle:

<пред>

Теперь наша система vundle инициализирована, и мы можем добавить плагины, которыми хотим управлять. Хотя vundle может управлять локальными плагинами, одной из его сильных сторон является возможность связывать локальные версии с онлайн-версиями, что позволяет автоматически обновлять и т. д.

Мы можем сделать это, указав на репозитории GitHub, скрипты vim, другие удаленные репозитории git и локальные репозитории git.

Прежде всего, мы должны управлять самим пакетом vundle с помощью vundle. Затем мы можем добавить любые дополнительные плагины, которые нам нужны:

<пред>

Это пакет Vundle, который можно найти на GitHub.

Мы также могли бы добавить репозитории с расширением .git

Чтобы получить плагины из Vim Scripts, вы можете ссылаться на плагин

Теперь мы можем снова включить нашу функциональность типов файлов.

Обратите внимание, как в конце мы восстанавливаем функциональность \типа файла, которую мы ранее включили. Все плагины должны быть объявлены между строкой call vundle#rc() и плагином типа файла отступ в директиве .

После этого раздела нашего ~/.vimrc мы можем добавить любые дополнительные настройки vim, которые нам нужны.

Когда вы закончите, сохраните и закройте файл (\:wq” или \ZZ).

Установите и обновите плагины с помощью Vundle

Теперь нам просто нужно указать vundle установить все плагины, которые мы добавили в файл. Запустите vim:

vim

Теперь введите команду :PluginInstall:

:PluginInstall

Это откроет новое разделенное окно в vim и запустит установку каждого из новых плагинов. По завершении вы можете закрыть новый буфер и окно, набрав:

:bdelete

Плагины, которые вы добавили в файл ~/.vimrc, теперь установлены!

Если вы хотите обновить свои плагины, вы можете использовать одну из этих двух команд:

:PluginUpdate

Или

:PluginInstall!

\! в конце команды :PluginInstall! в основном сообщает vundle переустановить все плагины (он проверяет, не требуется ли какое-либо действие), которые получат самые новые версии.

После обновления вы можете увидеть, какие плагины действительно были затронуты, набрав «u» в окне плагина vundle. Если вы хотите увидеть полный журнал операций, выполненных во время обновления или установки, введите \l, чтобы просмотреть полный журнал.

Управление плагинами с помощью Vundle

Теперь, когда вы научились устанавливать плагины, давайте рассмотрим некоторые другие функции, которые могут помочь вам получить больше от vundle.

Приобретение новых плагинов

Одной из самых полезных функций vundle является возможность находить и устанавливать дополнительные плагины.

Мы можем перечислить все плагины, которые vundle может найти на сайте Vim Scripts, набрав:

:Plugins

Или

:PluginSearch!

\! в конце команды обновляет локальный список с сайта Vim Scripts.

Если мы хотим найти определенный плагин, мы можем использовать тот же синтаксис, например:

<пред>

Это откроет новое окно с результатами нашего запроса. Если вы недавно обновили локальную базу данных, вы можете не использовать \! из команды. Итак, если вы ищете \markdown, вы можете получить что-то вроде этого:

PluginSearch markdown
"Keymap: i - Install plugin; c - Cleanup; s - Search; R - Reload list
"Search results for: markdown
Plugin 'instant-markdown.vim'
Plugin 'MarkdownFootnotes'
Plugin 'Markdown'
Plugin 'Markdown-syntax'

Как вы можете видеть сверху, вы можете легко установить любой из плагинов, перейдя на строку с плагином и набрав \i.

Это загрузит и установит плагин, но он не обновит ваш ~/.vimrc, чтобы он автоматически загружался правильно.

Итак, чтобы установить плагин «MarkdownFootnotes», мы переместим курсор на эту строку и нажмем «i»:

<пред>

Вы можете удалить буфер vundle после завершения установки:

:bdelete

После этого отредактируйте свой ~/.vimrc, набрав:

:e ~/.vimrc

Добавьте новую строку плагина:

<пред>

Плагин gmarik/vundle

Плагин 'scrooloose/nerdtree.git'

Плагин «Буфергатор»

Плагин MarkdownFootnotes

отступ плагина типа файла

На этом этапе вы можете сохранить и закрыть файл.

Управление установленными плагинами

Установив несколько плагинов, вы можете управлять ими с помощью vundle.

Чтобы увидеть все установленные плагины, введите:

:PluginList
" My Plugins
Plugin 'gmarik/vundle'
Plugin 'scrooloose/nerdtree.git'
Plugin 'Buffergator'
Plugin 'MarkdownFootnotes'

Если вам нужно удалить плагин, это нужно сделать в два этапа.

Вы можете удалить файлы плагинов, перечислив их, а затем нажав клавишу «D», когда ваш курсор находится на плагине, который вы хотите удалить. Таким образом, чтобы удалить наш плагин «MarkdownFootnotes», мы можем выбрать его и нажать «D». ”:

<пред>

На данный момент vundle все еще имеет этот плагин в своей конфигурации, но файлы плагина не установлены. Вы можете переустановить файлы снова, набрав:

:PluginInstall

Мы не будем этого делать. Вместо этого мы удалим запись из нашего файла ~/.vimrc:

:e ~/.vimrc
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

Plugin 'gmarik/vundle'

Plugin 'scrooloose/nerdtree.git'

Plugin 'Buffergator'

filetype plugin indent on

Это завершит удаление плагина из вашей системы.

Более простой способ сделать это — сначала удалить его из файла ~/.vimrc.

После того, как вы удалили его, вы можете вызвать эту команду, которая автоматически удалит все плагины, которых нет в вашем файле ~/.vimrc (она попросит вас подтвердить):

:PluginClean
" Removing Plugins:
Plugin 'MarkdownFootnotes'

. . .
Continue? [Y/n]:

Вы можете ввести \Y, чтобы удалить все неиспользуемые плагины.

Заключение

К этому моменту вы сможете легко управлять своими плагинами через интерфейс vundle. Преимущества наличия хорошего менеджера плагинов для vim могут быть неочевидны на первый взгляд, особенно если вы не используете много плагинов.

Тем не менее, одно из самых больших преимуществ, которое это дает вам, — это возможность легко экспериментировать с новыми плагинами. Когда процесс чистый и простой, вы с большей вероятностью изучите различные плагины и попытаетесь интегрировать функциональность, тогда как в противном случае вы, возможно, смирились бы с этим и сделали что-то более сложным образом.

Джастин Эллингвуд