Vim за завършване на Plugin мениджъра Без фатални недостатъци, savepearlharbor

  1. Въведение (vim_lib)
  2. Plugin мениджър без фатални недостатъци (vim_lib, vim_plugmanager)
  3. ниво проект и файловата система (vim_prj, nerdtree)
  4. Откъси и файлови шаблони (UltiSnips, vim_template)
  5. Съставяне и работи нищо (vim_start)
  6. Работа с Git (vim_git)
  7. Разполагане (vim_deploy)
  8. Тестване с xUnit (vim_unittest)
  9. Библиотеката, която държи всичко (vim_lib)
  10. Други полезни плъгини

Радвах се, вероятно всички популярни мениджъри плъгини за Vim и аз не са имали и най-малкото желание да напишете своето собствено, тъй като те бях много щастлив, но имаше леко, но за което аз ще обсъдим в тази статия.

Основният проблем с повечето популярни плъгини за мениджъри Vim е, че те се запълни една променлива runtimepath така или иначе. Какво доведе? Plugins се зареждат bezporyadochno, че няма начин да се преодолеят конфигурацията на плъгин за конкретен проект, плъгини замени вашите собствени настройки Vim и т.н. Всички допълнително се влошава от невъзможността да се контролира реда на зареждане на плъгини, когато трябва първо да изтеглите плъгин, а след това зависи само от него Blagin Б. С една дума - болка.

  1. System ($ VIMRUNTIME /) - конфигурация и плъгини, които важат за всички потребители на системата
  2. обичай (
/.vim/) - конфигурация и специфични за потребителя приставки
  • Design (./.vim/) - конфигурация и приставки, които са налични само в този проект. Той е на това ниво не е в Vim, по-точно е, но по-скоро добре приложени
  • vim_lib библиотека определя как структурата на приставката, Vim (но не се ограничи да тази структура може да се използва само от някоя приставка) и по реда на техните връзки и файлове за изтегляне, за това, изпълнявани Сис / Plugin класове и Сис / съответно автоматично зареждане.

    Ако се приложи плъгин в строго съответствие с изискванията на сис / Plugin клас. получаваме следната структура:

    плъгин / myPlugin.vim файл съдържа инициализация логиката и щепсела връзка.

    док / myPlugin.rux файл съдържа плъгин документация.

    Защо е нужно всичко това? Първо стандартизация. Въведете, редактирате и сортират плъгини става по-лесно. На второ място, те са по-лесни за изключване.

    Повече подробности можете да прочетете тук.

    /.vimrc)
  • Свързване на персонализирани плъгини ( /.vim/plugin/)
  • Свързване на файлове зависими потребителски плъгини ( /.vim/ftplugin/)
  • Свързване на основните конфигурационни файлове проект (./.vimrc)
  • Свързани дизайн плъгини (./.vim/plugin/)
  • Свържете файл зависими приставка проект (./.vim/ftplugin)
  • Като цяло сис / Authoload клас дава възможност за изпълнение на всякакви гнездене йерархия и старшинство конфигурации, а не само в три етапа, но аз не виждам нужда да се добавят нови нива.

    За да използвате стартиране, предложеният клас Сис / Authoload. достатъчно, за да добавите към вашия файл следните редове към .vimrc:

    Това може да стане не само на ниво потребител (

    /.vimrc), но също така и върху системата ($ VIMRUNTIME / .vimrc) или проект (./.vimrc), докато стартиране логика ще се разпространява само на това ниво, а "по-долу". На всички нива nizlezhayshih просто свързват нови плъгини, които са достъпни само до това ниво:

    За да деактивирате плъгин, просто коментирайте Plugin низ за името.

    Конфигуриране на приставката може да е вярно по време на връзката:

    При по-ниски нива може да замени тези конфигурации:

    Всичко е много гъвкава и удобна.

    Изглежда, че не позволява на други мениджъри, за да плъгини да инсталират плъгини в необходимите директории (система, потребителски или проекта)? Проблемът тук е, че други мениджъри не просто да инсталират трети страни плъгини, но също така да определят реда на инициализация, и ние не се нуждаем (които вече се прилагат клас Сис / Authoload библиотека). Същият проблем е несъвместимостта на Вим плъгини, които споменах в предишната статия. Аз трябваше да напише решението.

    vim_plugmanager е доста прост интерфейс и ви позволява да инсталирате добавки от GitHub до системната директория, потребителска директория или директория на проекта, в зависимост от това къде се намираш в момента.

    Прозорец със списък на плъгини

    Както се вижда на фигурата, vim_plugmanager реализира като прозорец, в който се показва в списъка с текущо инсталирани плъгини (който е инсталиран и не е свързан) групирани по ниво. За да добавите нова приставка е достатъчно да натиснете. и за премахване на курсора и кликнете на щепсел-ДД (много познато, нали?).

    Повече подробности можете да прочетете тук.

    В тази статия, аз покрит, а не всички проблеми, с които се срещнах по време на skotorym ispolzonii Vim плъгини, както и не всички характеристики на описаните решения. Аз не мисля, че си струва да копиране на документацията, когато тя е на разположение в публичното пространство.

    Може би можех да направя съществуващите решения, пресече границата между тях, но в този случай е налице риск да прекарват много повече време, но резултатът ще бъде не това, което е необходимо.