Hlavní navigace

Nej... VIM pluginy (1)

Michal Burda

Nejlepší a nejzajímavější pluginy pro textový editor VIM.

Plug-iny jsou ve VIM novinkou od verze 6.0. Jsou to obvykle soubory s příponou vim. VIM rozlišuje dva typy pluginů: globální (global) a filetype. Ty první obsahují vlastnosti stejné pro všechny editované soubory, a jak asi správně tušíte, filetype pluginy definují makra specifické pro konkrétní typy editovaných souborů. Pluginy jsou v podstatě pouhé skripty: to, jestli je jeden plugin filetype, nebo globální, z něj dělá pouze jeho umístění (o pravidlech umístění pluginů se dozvíte dále). Můžete se tak sami rozhodnout, jestli chcete mít makra definovaná v pluginu k dispozici vždy, nebo jen pro konkrétní typy souborů.

Globální pluginy většinou stačí zkopírovat do adresáře s pluginy VIMu (pro Unix to je defaultně adresář ~/.vim/plugin). Všechny soubory s příponou vim v tomto adresáři jsou při spuštění editoru automaticky načteny a vykonány.

Abyste mohli začít používat filetype pluginy, musíte nejprve ve VIMu zapnout mechanismus rozpoznávání typů souborů – pro tyto účely obohaťte svůj .vimrc soubor o následující řá­dek:

filetype plugin indent on

Tímto příkazem zapnete rozpoznávání typů souborů, používání filetype pluginů a automatické odsazování podle rozpoznaného typu souboru.

Filetype pluginy mají podobně jako globální pluginy rovněž svůj adresář. Na Unixu je to ~/.vim/ftplugin. Každý filetype plugin by měl být umístěn v tomto adresáři, měl by mít příponu vim a jméno by mělo odpovídat typu souboru. Tak například, filetype plugin pro HTML soubory by se měl jmenovat html.vim. Pokud zjistíte, že už nějaký HTML plugin máte, a přesto chcete přidat další, nazvěte ten nový jako html_něco.vim. Důležité je, aby začátek jména odpovídal typu souboru a za ním následovalo volitelně podtržítko (_) a pak už cokoliv. Kdybyste HTML plugin nazvali jako

dalsi_html.vim, nebude to fungovat. Další možností, jak nasdílet více pluginů pro stejný typ souboru, je vytvořit pro daný typ zvláštní podadresář. Například do adresáře ~/.vim/ftplugin/html můžete ukládat HTML pluginy tentokrát už libovolně pojmenované (ale s příponou vim!).

Shrnuto, tohle jsou platné cesty k filetype pluginu pro HTML soubory:

~/.vim/ftplugin/html.vim
~/.vim/ftplugin/html_def.vim
~/.vim/ftplugin/html/header.vim

Vše o pluginech naleznete v nápovědě VIMu. Zkuste třeba:

:help plugin
:help write-plugin
:help ftplugins
:help filetypes
:help write-filetype-plugin
:help plugin-details

DrawIt

Vy všichni, kteří ještě pamatujete starý textový editor T602 pro DOS, budete jistě znát i jeho nástroj pro kreslení tabulek. Stejnou možnost (a ještě mnohem víc) nabízí plugin DrawIt v prostředí editoru VIM. Po jeho aktivaci sekvencí \di (deaktivace pomocí \ds) se změní vlastnosti kurzorových kláves (šipek) tak, že začnou kreslit čáry ve směru pohybu. Kromě horizontálních a vertikálních čar umí DrawIt i šikmé čáry, šipky a elipsy. Následující obrázek zobrazující nový význam tlačítek na numerické klávesnici (s vypnutým NumLockem) byl otázkou několika sekund:

+-----+-----+-----+
|  7  |  8  |  9  |
| "\" | "|" | "/" |
+-----+-----+-----+
|  4  |  5  |  6  |
| "-" |     | "-" |
+-----+-----+-----+
|  1  |  2  |  3  |
| "/" | "|" | "\" |
+-----+-----+-----+

…s DrawItem dostanou tyto klávesy nový význam: pohyb do všech osmi směrů (svisle, vodorovně a šikmo) se současným kreslením čar. Elipsy se kreslí pomocí vizuálních bloků: v „normálním“ módu stiskněte <CTRL>+V, kurzorovými klávesami vyberte obdélníkovou oblast a stiskněte \e – do vybraného bloku se vepíše elipsa. (Pozor, DrawIt musí být pro tuto funkci nejprve aktivován (\di)!).

Ukázka schopností DrawItu:

  *****    |  +----------+  \   X   X   X   /
**     **  |  |  +----+  |   \ / \ / \ / \ /
*       *  |  |  +--  |  |    X   X   X   X
**     **  |  +-------+  |   / \ / \ / \ / \
  *****    +-------------+  /   X   X   X   \

Stahujte zde.

TableTab

Tvůrce pluginu TableTab si dal za úkol zinteligentnit klávesu tabulátoru. Zavádí nový režim tabulátoru, do kterého se můžete přepínat pomocí makra <Leader><Tab> (tedy např. ,<Tab>). Tabulátor v novém režimu neodsazuje po pevně stanovených krocích, ale zastaví se vždy na místě odpovídajícím prvnímu znaku slova z předchozího řádku. Spolu s pluginem DrawIt zmiňovaným dříve tvoří báječnou pomůcku při tvorbě tabulek.

Stahujte zde.

Calendar

Je hrůza, co všechno se dá ve VIMu dělat, když to člověk umí. Tenhle plugin umožní pomocí příkazu :Calendar otevřít nové okno (vnitřní okno VIMu) a zobrazit v něm aktuální kalendář. Když najedete na některý den a zmáčknete Enter, můžete si ke zvolenému dni něco poznamenat (popř. vykonat nějakou jinou akci, vše je nastavitelné). Kalendář zmizí stiskem q.

Plugin Calendar v akci

Stahujte zde.

EnhancedCommentify

EnhancedCommentify je jednoduchý nástroj pro programátory. Tenhle plugin definuje dvojici maker <Leader>c a <Leader>x (kde <Leader>

je vámi zvolený předřaďovač, např. ,). Tato makra aplikovaná na nějaký řádek nebo výběr zvolenou oblast zakomentují/od­komentují. Plugin umí komentovat docela hodně programovacích jazyků, zmíním například jazyky C, JAVA, Tcl, XML, m4, automake, skripty shellu a jiné.

Stahujte zde.

To by tak mohlo být pro dnešek vše. Příště se těšte na další várku pluginů. (Prozradím, že budeme mít co do činění s pluginy pro psaní HTML, uvidíte různé pomůcky pro programátory a také jednu hru.)

Našli jste v článku chybu?

9. 8. 2002 13:06

Milan Vancura (neregistrovaný)

S nefunkcni klavesnici bych se teda nesmiril. Doporucuji nasledujici temata helpu:
map
map-special-keys
key-notation

a pripadne zjistit, jestli neni chyba v nastaveni terminalu (terminfo, termcap).






5. 8. 2002 13:37

Lubosek (neregistrovaný)

Ja netvrdim, ze je chyba v DrawItu, jen ze je mi to bohuzel na nic :-(, protoze se mi nechce premlouvat klavesnici, aby posilala ty spravne kody...

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Podnikatel.cz: Změny v cestovních náhradách 2017

Změny v cestovních náhradách 2017

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

Recenze Westworld: zavraždit a...

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

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

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

Jak vymáhat výživné zadarmo?

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Měšec.cz: Jak levně odeslat balík přímo z domu?

Jak levně odeslat balík přímo z domu?

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

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

Horní cesty dýchací. Zkuste fytofarmaka

Podnikatel.cz: Snížení DPH na 15 % se netýká všech

Snížení DPH na 15 % se netýká všech

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

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

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

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?