Automaticke prikazy

Tato konstrukce vam umoznuje definovat cinnosti, ktere maji byt provedeny pri kazdem vyskytu urcite udalosti. Jejich prostrednictvim lze zajistit vhodne nastaveni pro jednotlive typy souboru. Hledate-li pokrocilejsi priklad, v on-line dokumentaci najdete ukazku automatickych prikazu, ktere umoznuji editovat komprimovane soubory. Pred zahajenim editace dojde k jejich rozbaleni a po ulozeni na disk se opet zabali. Zadejte :help gzip-example.

Definice

Automaticky prikaz lze definovat prikazem
:autocmd <udalost> <vzor> <prikaz>
<udalost> vyjadruje, pri jake prilezitosti ma byt prikaz proveden. Udalosti odpovidaji ruznym vyznmanym milnikum v zivote programu, jako je treba nacteni souboru, vstup do okna ci ukonceni editoru.

<vzor> urcuje, na jake soubory se tento automaticky prikaz vztahuje. Muzete pouzivat zolikove znaky v obvyklych vyznamech. prikaz pak rika, co se vlastne ma provest.

Priklad:
Hlidani praveho okraje ve vzdalenosti 78 znaku pro soubory s priponami .tex a .html by zajistil prikaz

:autocmd BufRead *.tex,*.html set textwidth=78
Priklad:
Kdykoli zahajite editaci noveho (dosud neexistujiciho) souboru s priponou .html, editor ma nacist sablonu empty.html, abyste nemuseli rucne vypisovat vsechny "obalove" znacky. O takove chovani se postara prikaz

:autocmd BufNewFile *.html r $VIM/empty.html
Pokud k prikazu :autocmd pripojite vykricnik, bude automaticke prikazy naopak odstranovat. Muzete jej pouzit v plnem tvaru (s uvedenim udalosti, vzoru pro jmeno souboru i prikazu) a pak odstrani jediny prikaz. Jestlize nekterou z casti vynechate nebo misto udalosti uvedete hvezdicku, odstrani vsechny, ktere vyhovuji ostatnim podminkam.
Priklad:
Vsechny automaticke prikazy pro soubory s priponou .html byste odstranili pomoci

:autocmd! * *.html
Naproti tomu vsechny automaticke prikazy pro udalost BufRead by zlikvidoval prikaz

:autocmd! BufRead
Kdyz prikazu :autocmd (bez vykricniku) neuvedete prikaz nebo dokonce vice informaci, vypise existujici automaticke prikazy, ktere vyhovuji vasemu zadani. Samotne :autocmd pak zobrazi vsechny existujici automaticke prikazy. Pokud mate zapnuto zvyraznovani syntaxe, budete jejich mnozstvim prekvapeni.

Udalosti

vim nabizi siroky sortiment udalosti. Vetsinou jsou spojeny s vyrovnavaci pameti, souborem, oknem ci samotnym editorem. V nasledujici tabulce uvadim prehled tech, ktere povazuji za nejcasteji pouzivane.

BufNewFile zahajuje editaci dosud neexistujiciho souboru
BufReadPre pred nactenim editovaneho souboru
BufRead, BufReadPost po nacteni editovaneho souboru
BufWrite, BufWritePre pred ulozenim editovaneho souboru
BufWritePost po ulozeni editovaneho souboru
BufEnter po vstupu do vyrovnavaci pameti
BufLeave pred opustenim vyrovnavaci pameti
WinEnter po vstupu do okna
WinLeave pred opustenim okna

<-- predchozi  [obsah]  dalsi -->
© 1997, 1998 Pavel Satrapa