VIM įskiepių valdymas nėra pats patogiausias dalykas pasaulyje. Visi skriptai metami į bendrus katalogus, todėl ilgai netrunka kol .vim kataloge įsivyrauja chaosas. Pasidaro neaišku kurie failai kokiam įskiepiui priklauso, darosi painu juos šalinti ir sudėtinga atnaujinti. Dažnas VIM vartotojas naudoja daugiau nei 5 įskiepius, tad rankinis jų atnaujinimas gali tapti pain in da ass. Reik susigooglinti visų naudojamų skriptų puslapius, parsisiųsti jų naujas versijas ir sukelti į atitinkamus katalogus. Baisiai nepatogu, bet visą tai galima protingai išspręsti!
Pagaliau prisiverčiau susitvarkyti savo VIM konfigūraciją. Į pagalbą atėjo pathogen.vim. Pathogen leidžia VIM įskiepius instaliuoti į atskirus katalogus. Taip išlaikoma tvarka .vim direktorijoje, įskiepius daug paprasčiau pašalinti. Norint naudoti pathogen, reikia įvykdyti šiuos žingsnius:
- Patalpinti pathogen.vim failą ~/.vim/autoload direktorijoje.
- Sukurti direktoriją ~/.vim/bundle
- Į .vimrc pradžią patalpinti šią eilutę:
call pathogen#infect()
Nuo šiol visus VIM įskiepius reikia talpinti į atskirus pakatalogius, esančius anksčiau sukurtame kataloge bundle. Kadangi įskiepiai talpinami atskiruose kataloguose, helptag’ams generuoti yra sukurta komanda :Helptags (vietoj :helptags).
Dabar apie modulių atnaujinimą. Turiu gerą naujieną – GitHub.com yra toks vartotojas vim-scripts, kurio repozitorijoje talpinami VIM skriptai iš vim.org puslapio. Kitaip tariant, visi vim.org puslapyje esantys skriptai taip pat yra talpinami ir github.com/vim-scripts. Beje, šio projekto kūrimą įtakojo būtent anksčiau minėtas pathogen.vim. Kas gali būti patogiau nei atnaujinti skriptus tiesiai iš GitHub’o? Žinoma, kai kurie VIM skriptų autoriai savo kodą taip pat saugo github’e, tad kodas jų repozitorijose bus atnaujinamas dažniau. Tačiau vim-scripts išsprendžia problemas, kai originalus kodas talpinamas pvz. kokioje nors Mercurial repozitorijoje.
Viliuosi, kad jau saugote vim konfigūraciją versijavimo sistemoje. Jei ne, tai…
cd ~/.vim git init git add . git commit -m "Init commit."
VIM skriptus pridėsim kaip GIT submodulius. Trumpai tariant, submodulis leidžia pridėti kitą GIT projektą į repozitoriją. Būdami ~/.vim direktorijoje rašom:
git submodule add git://github.com/vim-scripts/FuzzyFinder.git ~/.vim/bundle/FuzzyFinder git submodule init git submodule update git add . git commit -m "Added FuzzyFinder as bundle."
Įskiepis pridėtas, jo kodas atnaujintas tiesiai iš jo repozitorijos ir patalpintas į bundle/FuzzyFinder katalogą. Analogiškai galime pridėti ir kitus įskiepius. Norint atnaujinti visus įskiepius rašome:
git submodule foreach git pull origin master
Štai ir viskas. Jei naudojate Mercurial, vietoj Git submodulių galite bandyti naudoti Subrepozitorijas. Jos, beje, leidžia klonuoti projektus ne tik iš Mercurial versijavimo sistemų. Vietoj pathogen galite išbandyti analogišką paskirtį turinį įskiepį Vundle. Na, o jei reik veikiančio pavyzdžio, tai mano VIM konfigūracinius failus rasite github.com/pawka/VIM.
{ 0 comments }