Hlavní navigace

Nej... VIM pluginy (2)

Michal Burda 8. 8. 2002

Další hromada zajímavých pluginů pro textový editor VIM. Čekají nás mimo jiné pluginy pro psaní HTML, nástroje pro programátory a na závěr i jedna hra.

Mini Buffer Explorer

Mini Buffer Explorer je něco, co mi dlouho chybělo. Na Internetu najdete pluginů podobných tomuhle několik, ale ze všech, které znám, je tento nejlepší (a s nejméně chybami). Pokud editujete zároveň několik souborů, otevře Mini Buffer Explorer úplně nahoře malé okno se seznamem bufferů. Okamžitě tak vidíte, jaké číslo má který z nich, a ihned se můžete bez zdržování pomocí :b<číslo> do některého přepnout.

Mini Buffer Explorer

Stahujte zde.

V určitých situacích je vhodné Mini Buffer Explorer vyřadit z činnosti (například při konverzi syntakticky zvýrazněného souboru na HTML dělá Mini Buffer Explorer problémy: na HTML se místo zdrojového souboru převede obsah samotného Buffer Exploreru). Definoval jsem si proto dvě mapování: <F10> pro zapnutí a <SHIFT-F10> pro vypnutí Mini Buffer Exploreru:

map <F10> :call Enable_minibuf()<CR>
map <S-F10> :call Disable_minibuf()<CR>

function! Enable_minibuf()
  let g:miniBufExplorerAutoUpdate = 1
  MiniBufExplorer
endfun

function! Disable_minibuf()
  MiniBufExplorer
  bd

  let g:miniBufExplorerAutoUpdate = 0
endfun

Chcmdmod

Chcmdmod je jednoduchý plugin zajímavě rozšiřující chování VIMu. Dovoluje změnu příkazového režimu bez ztráty rozepsaného příkazového řádku. Pomocí kombinací kláves ^X/, ^X: a ^X? se můžete plynule uprostřed psaní příkazu přepínat mezi /, : nebo ? režimy.

Stahujte zde.

EasyHtml

Docela šikovný nástroj je také EasyHtml. Nainstalujete-li si jej, nebudete si už muset při editaci HTML souborů a kaskádových stylů (CSS) pamatovat žádné atributy tagů či CSS vlastností! EasyHtml poskytuje mechanismus výběru položek tagů z jednoduchého okna. Funguje to takhle:

  1. Kurzorem najedete na nějaký HTML tag nebo CSS vlastnost.
  2. Stisknete klávesu F3, čímž se vám otevře nové okno se seznamem všech atributů zvoleného tagu.
  3. Pomocí kurzorových kláves si vyberete atribut, který chcete do tagu přidat, a stisknete Enter.
  4. Vybraný atribut se do tagu automaticky doplní a kurzor se nastaví mezi uvozovky, takže můžete rovnou psát jeho hodnotu.
  5. Esc nebo q zavře okno EasyHtml bez vložení atributu.

EasyHtml barevně (červeným podsvícením) rozlišuje atributy, které WWW Consorcium ruší (prohlásilo za deprecated) – co se týče HTML a CSS, jsou znalosti uchované v EasyHtml opravdu encyklopedické :-).

Ukázka funkce pluginu EasyHtml

Stahujte zde.

HTML-macros

Dalším velice užitečným pluginem při tvoření HTML stránek je skript HTML-macros. Definuje desítky logicky pojmenovaných maker, na která se velice rychle zvyká a která úžasně urychlí psaní. Tak například klávesa F1 je předefinovaná tak, že hledá v předcházejícím textu první neuzavřený HTML tag a na místo kurzoru vloží jeho uzavírací párovou značku. Dále je zde sada maker ;něco, které do textu vkládají páry HTML tagů s kurzorem mezi nimi. Tak například ;1 vloží do textu "<h1></h1>, ;i

tag <img src…> a podobně. Za velmi šikovné považuji to, že taková makra fungují inteligentně i na označeném bloku textu.

Stahujte zde.

Info

Zkuste hádat, co umí tenhle plugin. Všichni z vás, kteří si myslíte, že to je schopnost zobrazování info stránek přímo v bufferu VIMu, máte naprostou pravdu. Plugin Info obohacuje příkazový repertoár editoru o stejnojmennou funkci, která umí načíst a barevně zvýraznit nápovědné stránky systému

info. Brousí se po nich stejně jako po nápovědě VIMu.

Stahujte zde.

GLib

Pokud občas něco programujete v jazyku C a s knihovnou GLib, padne vám tento skript do noty. Je to totiž VIM syntax file, soubor s definicí zvýrazňování syntaxe datových typů a funkcí GLibu.

Stahujte zde.

Increment

Využití služeb pluginu Increment představuje jednu z cest, jak rychle vytvořit vzrůstající nebo klesající posloupnost čísel s využitím módu vizuálního bloku.

Předvedu názorně: Představte si, že editujete nějaký céčkovský soubor a potřebujete vytvořit fragment kódu, který by naplňoval nějaké pole jakýmisi hodnotami:

moje_pole[1] = 2;
moje_pole[2] = 8;
moje_pole[3] = 3;
moje_pole[4] = 1;
moje_pole[5] = 4;

Patrně to uděláte tak, že napíšete nejprve první řádek, ten čtyřikrát zkopírujete pod něj a opravíte: přiřazované hodnoty pole jsou speciální, ty je třeba naklepat ručně. Ale co indexy? To je jednoduchá posloupnost čísel a k jejímu vytvoření je zde právě plugin Increment: Pět stejných jedniček pod sebou označte do bloku (<CTRL-V>) a napište :Inc<Enter> – číslice „1“ se nahradí posloupností od jedné do pěti.

Autor pluginu doporučuje zavést mapování kombinace <CTRL-A> v režimu vizuálního bloku právě na volání :Inc. Zkratka <CTRL-A> totiž v normálním režimu zvětšuje číslo pod kurzorem o jedničku – je tedy logické, aby v režimu vizuálního bloku vytvářela číselnou posloupnost.

Stahujte zde.

Foo

Foo není ani tak nějaký plugin jako spíše sbírka různých funkcí, ze kterých se můžete naučit různé programátorské finty ve skriptovacím jazyku VIMu. Vše je bohatě komentováno, takže začínajícím programátorům editoru VIM vřele doporučuji!

Stahujte zde.

VimBuddy

Pitomosti typu „koulející oči“ (xeyes) apod. dorazily i do VIMu. VimBuddy je smajlík, který se na vás ze status baru všelijak xichtí podle toho, co zrovna v editoru děláte. Když už nic, může vám aspoň posloužit jako předloha k vytvoření nějakého vlastního indikátoru na stavovém řádku.

Stahujte zde.

Tetris

Tak tohle je opravdová bomba: kompletní implementace známé hry Tetris v editoru VIM. Spouští se <Leader>te (máte-li jako Leader nastavenu čárku, pak ,te). Pohyb tvarů se ovládá pomocí kurzorových kláves h

(vlevo), l (vpravo), j (dolů), k otočení slouží i, k uložení tvaru mezerník. Hra se ukončuje klávesou q.

VIM verze Tetrisu

Stahujte zde.

Tak to je vše, přátelé. Další pluginy hledejte na vim.sf.net. Pokud máte nějaký svůj oblíbený plugin, který zde nebyl uveden, nezapomeňte se podělit! :-)

Našli jste v článku chybu?

22. 10. 2003 10:58

ch-in-a (neregistrovaný)

take mi easy html nefunguje, resp funguje ale spatne detekuje pozici kurzoru
kdyz dam F3 napise ze *nema nic pro * a misto spravneho tagu uvede nejaky string o nekolik radku vyse.
funguje pouze pokud sjedu kurzorem o rozdil a dam F3
nevite nekdo jak to vyresit?




18. 6. 2003 23:22

Ivo Danihelka (neregistrovaný)

closetag.vim
http://vim.sourceforge.net/scripts/script.php?script_id=13


Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Podnikatel.cz: Komunikace firem na Facebooku? Otřes!

Komunikace firem na Facebooku? Otřes!

Vitalia.cz: Nestlé vyvinula nový typ „netloustnoucího“ cukru

Nestlé vyvinula nový typ „netloustnoucího“ cukru

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Podnikatel.cz: Na poslední chvíli šokuje výjimkami v EET

Na poslední chvíli šokuje výjimkami v EET

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

Lupa.cz: Seznam mění vedení. Pavel Zima v čele končí

Seznam mění vedení. Pavel Zima v čele končí

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání