Vim pentru a finaliza Plugin Managerul fără defecte fatale, savepearlharbor

  1. Introducere (vim_lib)
  2. Plugin Managerul fără defecte fatale (vim_lib, vim_plugmanager)
  3. nivel de proiect și sistemul de fișiere (vim_prj, nerdtree)
  4. Snippeturi și șabloane de fișiere (UltiSnips, vim_template)
  5. Alcătuirea și rulează nimic (vim_start)
  6. Lucrul cu Git (vim_git)
  7. Implementați (vim_deploy)
  8. Testarea cu xUnit (vim_unittest)
  9. Biblioteca care deține totul (vim_lib)
  10. Alte plugin-uri utile

M-am bucurat, probabil, toate plugin-uri populare manageri pentru Vim și nu am avut nici cea mai mică dorință de a scrie opinia ta, deoarece acestea am fost destul de fericit, dar a existat o ușoară, dar despre care voi discuta în acest articol.

Problema principală cu cele mai multe plugin-uri populare pentru manageri Vim este că ei umple o runtimepath variabilă oricum. Ce nu-l conduce? Plugin-uri sunt încărcate bezporyadochno, nu există nici o modalitate de a trece peste configurația plug-in pentru un anumit proiect, plugin-uri suprascrie propriile setări Vim, etc. Toate exacerbat și mai mult de incapacitatea de a controla ordinea de plugin-uri de încărcare, atunci când trebuie să descărcați mai întâi plugin-A, apoi depinde numai de el Blagin B. Într-un cuvânt - durere.

  1. Sistemul ($ VIMRUNTIME /) - configurare si plug-in-uri, care se aplică tuturor utilizatorilor sistemului
  2. personalizate (
/.vim/) - configurarea și plug-in-uri specifice utilizatorului
  • Design (./.vim/) - configurarea și plug-in-uri care sunt disponibile numai în acest proiect. La acest nivel nu este în Vim, mai precis este, ci mai degrabă prost puse în aplicare
  • vim_lib bibliotecă determină modul în care structura plug-in Vim (dar nu pentru a limita pe care doar această structură poate fi folosită de orice plug-in), iar ordinea de conexiuni și descărcări lor, pentru aceasta să fie implementată sys / clase și sys Plugin / respectiv Autoload.

    Dacă implementați un plugin, în strictă conformitate cu cerințele sys / clasa Plugin. obținem următoarea structură:

    fișier plugin / myPlugin.vim conține logica de inițializare și fișa de conectare.

    fișier doc / myPlugin.rux conține plugin-ul de documentare.

    De ce este necesar acest lucru toate? În primul rând de standardizare. Scrie, a edita și sorta plugin-uri devine mai ușoară. În al doilea rând acestea sunt mai ușor pentru a opri.

    Mai multe detalii pot fi citite aici.

    /.vimrc)
  • Conectarea personalizate plug-in-uri ( /.vim/plugin/)
  • Conectarea utilizatorilor de plug-in-uri dependente de fișiere ( /.vim/ftplugin/)
  • Conectarea fișierele principale de configurare a proiectului (./.vimrc)
  • Conectarea pluginuri de proiectare (./.vim/plugin/)
  • Conectați proiect plug-in-dependente de fișiere (./.vim/ftplugin)
  • În general, sys / clasa Authoload vă permite să pună în aplicare orice configurații de cuibărit ierarhie și precedență, nu doar trei etape, dar nu am vazut nevoia de a adăuga noi nivele.

    Pentru a utiliza pornire, clasa a propus sys / Authoload. suficient pentru a adăuga la fișierul dvs. următoarele linii pentru a .vimrc:

    Acest lucru se poate face nu numai la nivel de utilizator (

    /.vimrc), dar, de asemenea, asupra sistemului ($ VIMRUNTIME / .vimrc) sau proiect (./.vimrc), în timp ce logica de pornire vor fi distribuite numai pe acest nivel, și „mai jos“. La toate nivelurile nizlezhayshih pur și simplu conectați noi plug-in-uri care sunt disponibile numai la acest nivel:

    Pentru a dezactiva plug-in, pur și simplu comentați șir Plugin „nume“.

    Configurarea plugin-ul poate fi chiar în momentul conectării sale:

    La niveluri mai mici pot trece peste aceste configurații:

    Totul este foarte flexibil și convenabil.

    S-ar părea că împiedică alți manageri pentru a face plugin-uri pentru a instala plugin-uri în directoarele necesare (sistem, utilizator sau proiect)? Problema aici este că alți manageri nu pur și simplu instalați terță parte plug-in-uri, dar, de asemenea, să definească ordinea de inițializare, și nu avem nevoie de (sys de clasă deja implementate / biblioteca Authoload). Aceeași problemă este incompatibilitatea Vim plugin-uri pe care le-am menționat în articolul precedent. A trebuit să scrie decizia.

    vim_plugmanager are o interfață destul de simplă și vă permite să instalați plug-in-uri de la GitHub la directorul directorul de sistem, director de utilizator sau proiect, în funcție de locul în care vă aflați acum.

    O fereastră cu o listă de plug-in-uri

    După cum se vede în figură, vim_plugmanager implementat ca o fereastră în care se afișează lista de plug-in-uri instalate în prezent (care este instalat și nu este conectat) grupate în funcție de nivel. Pentru a adăuga un nou plug-in este suficient să apăsați o. și pentru a elimina cursorul și faceți clic pe plug-dd (foarte familiar, nu-i așa?).

    Mai multe detalii pot fi citite aici.

    În acest articol, am acoperit, nu toate problemele întâmpinate în timpul skotorym ispolzonii Vim plugin-uri, precum și nu toate caracteristicile soluțiilor descrise. Nu cred că merită copierea documentației când acesta este disponibil în domeniul public.

    Poate aș putea face soluțiile existente, au trecut între ele, dar în acest caz, a existat un risc pentru a petrece mai mult timp, dar rezultatul nu va fi ceea ce am nevoie.