Pull to refresh

Автоматическое обновление плагинов*

Reading time3 min
Views3.1K
* на самом деле полуавтоматическое ;)

Как-то тихо в блоге VIM’а, видимо все спят — или может быть кончились в интернете огромные .vimrc? ;) Неизвестно, но точно понятно, что нужно эту тишину нарушить.

Нарушу я её сегодня одним хорошим плагином, упоминаний о котором я здесь не нашёл. Это GetLatestVimScripts (http://vim.sourceforge.net/scripts/script.php?script_id=642).

Для начала небольшой план изложения
  1. Для чего нужен этот плагин
  2. Как установить и что необходимо
  3. Как использовать
  4. Чего не хватает

// FIXME: Разработчики хабрахабра, ребята. Ну что за лабуда со ссылками происходит? Это защита от XSS такая, слово script исковеркать везде? Раньше этого не было.

Для всех — script в ссылках нужно заменить на script.

1. Для чего нужен этот плагин


В принципе, из названия уже ясно ;) Развёрнуто — для того, чтобы по вашему желанию обновлять некоторые плагины — либо просто скачивая новые версии в определённую папку, либо дополнительно автоматически устанавливая.

Почему данный плагин нужен кому-то? Ответ простой — потому что вручную всё отслеживать достаточно трудно, для этого нужно помнить, что у тебя установлено, и какой версии. И это несмотря на то, что многие полезные скрипты обновляются не так часто.

2. Как установить и что необходимо


Больше всего необходим wget — без него маленького счастья не получится. Также очень желательно иметь обновлённую версию Vimball (который тоже не прост и хочет vim начиная с версии 7.0), но будем считать, что он у нас уже обновлённый, потому что vim 7.2. Если же у кого-то не обновлённый — пишите, разберёмся.

Раз уж у нас есть wget — им и воспользуемся

    wget http://vim.sourceforge.net/scripts/download_script.php?src_id=8136 -O getscript.vba.gz
    vim getscript.vba.gz
    :so %
    :q

После этого в директории .vim (vimfiles для win) появится директория GetLatest, в которой будет лежать GetLatestVimScripts.dist. Этот файл поставляется по умолчанию, как пример. Для использования его необходимо переименовать в GetLatestVimScripts.dat

mv ~/.vim/GetLatest/GetLatestVimScripts.dist ~/.vim/GetLatest/GetLatestVimScripts.dat

Содержание у него следующее
ScriptID SourceID Filename
--------------------------
294  1 Align.vim
302  2 AnsiEsc.vim
122  3 astronaut.vim
104  4 blockhl.vim
120  5 decho.vim
 40  6 DrawIt.tar.gz
451  7 EasyAccents.vim
195  8 engspchk.vim
642  9 GetLatestVimScripts.vim
489 10 Manpageview.vim
551 11 Mines.vim
514 12 mrswin.vim
670 13 visincr.vim
628 14 SeeTab.vim
508 15 ZoomWin.vim
877 16 gvcolor.vim

где
ScriptID — id скрипта на http://vim.sourceforge.net/ (например для GetLatestVimScripts это 642, что можно увидеть всего лишь наведя на ссылку).
SourceID — для начала лучше поставить равным 1. Вообще же это src_id для sourceforge, который изменяется для каждой новой версии скрипта.
Filename — имя скрипта, которое может содержать пробелы (здесь может возникнуть путаница, поэтому поясню — на самом деле имя может быть любым и не обязано соответствовать имени скачиваемого файла или названию скрипта).

Cтоит упомянуть о таком параметре, как :AutoInstall:, который размещается между SourceID и Filename (приведу для примера мой GetLatestVimScripts.dat)

ScriptID SourceID Filename
--------------------------
2611 11899 :AutoInstall: XPTemplate
1658 11834 :AutoInstall: NERDTree
  159 3640   :AutoInstall: MiniBufExplorer
    69 6273   :AutoInstall: Project 
  273 7701   :AutoInstall: TagList 
   90 11049  :AutoInstall: VCSCommand
  489 9573   :AutoInstall: ManPageView
    39 8196   :AutoInstall: MatchIt 
  642 8136   :AutoInstall: getscript.vim

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

Но хватит объяснений — уже достаточно много сказал, остальное можно узнать задав вопрос, или прочитав описание внутри самого плагина.

3. Как использовать


Использование крайне просто — необходимо лишь запустить команду :GLVS. После этого процесс пойдёт — и уведомит в конце, что произошло. Если есть плагины, которые просто скачиваются — они будут помещены в ~/.vim/GetLatest/.

4. Чего не хватает


На данный момент больше всего не хватает возможности указывать папку, в которую будут распакованы файлы (по умолчанию большинство архивов распаковываются в ~/.vim, а *.vim файлы — в ~/.vim/plugin) — что было бы удобно для некоторых скриптов — например, цветовых схем. Ещё одно неудобство — то, что плагин не работает с *.tgz — из-за чего мой XPTemplate не хочет обновляться. Это конечно же наиболее заметные для меня — и повод связаться с автором.

Всё, хватит ;) Счастливо поработать!
Tags:
Hubs:
Total votes 25: ↑20 and ↓5+15
Comments10

Articles