AutomatickΘ p°φkazy

Tato konstrukce vßm umo╛≥uje definovat Φinnosti, kterΘ majφ b²t provedeny p°i ka╛dΘm v²skytu urΦitΘ udßlosti. Jejich prost°ednictvφm lze zajistit vhodnΘ nastavenφ pro jednotlivΘ typy soubor∙. Hledßte-li pokroΦilej╣φ p°φklad, v on-line dokumentaci najdete ukßzku automatick²ch p°φkaz∙, kterΘ umo╛≥ujφ editovat komprimovanΘ soubory. P°ed zahßjenφm editace dojde k jejich rozbalenφ a po ulo╛enφ na disk se op∞t zabalφ. Zadejte :help gzip-example.

Definice

Automatick² p°φkaz lze definovat p°φkazem
:autocmd <udßlost> <vzor> <p°φkaz>
<udßlost> vyjad°uje, p°i jakΘ p°φle╛itosti mß b²t p°φkaz proveden. Udßlosti odpovφdajφ r∙zn²m v²znman²m milnφk∙m v ╛ivot∞ programu, jako je t°eba naΦtenφ souboru, vstup do okna Φi ukonΦenφ editoru.

<vzor> urΦuje, na jakΘ soubory se tento automatick² p°φkaz vztahuje. M∙╛ete pou╛φvat ╛olφkovΘ znaky v obvykl²ch v²znamech. p°φkaz pak °φkß, co se vlastn∞ mß provΘst.

P°φklad:
Hlφdßnφ pravΘho okraje ve vzdßlenosti 78 znak∙ pro soubory s p°φponami .tex a .html by zajistil p°φkaz

:autocmd BufRead *.tex,*.html set textwidth=78
P°φklad:
Kdykoli zahßjφte editaci novΘho (dosud neexistujφcφho) souboru s p°φponou .html, editor mß naΦφst ╣ablonu empty.html, abyste nemuseli ruΦn∞ vypisovat v╣echny "obalovΘ" znaΦky. O takovΘ chovßnφ se postarß p°φkaz

:autocmd BufNewFile *.html r $VIM/empty.html
Pokud k p°φkazu :autocmd p°ipojφte vyk°iΦnφk, bude automatickΘ p°φkazy naopak odstra≥ovat. M∙╛ete jej pou╛φt v plnΘm tvaru (s uvedenφm udßlosti, vzoru pro jmΘno souboru i p°φkazu) a pak odstranφ jedin² p°φkaz. Jestli╛e n∞kterou z Φßstφ vynechßte nebo mφsto udßlosti uvedete hv∞zdiΦku, odstranφ v╣echny, kterΘ vyhovujφ ostatnφm podmφnkßm.
P°φklad:
V╣echny automatickΘ p°φkazy pro soubory s p°φponou .html byste odstranili pomocφ

:autocmd! * *.html
Naproti tomu v╣echny automatickΘ p°φkazy pro udßlost BufRead by zlikvidoval p°φkaz

:autocmd! BufRead
Kdy╛ p°φkazu :autocmd (bez vyk°iΦnφku) neuvedete p°φkaz nebo dokonce vφce informacφ, vypφ╣e existujφcφ automatickΘ p°φkazy, kterΘ vyhovujφ va╣emu zadßnφ. SamotnΘ :autocmd pak zobrazφ v╣echny existujφcφ automatickΘ p°φkazy. Pokud mßte zapnuto zv²raz≥ovßnφ syntaxe, budete jejich mno╛stvφm p°ekvapeni.

Udßlosti

vim nabφzφ ╣irok² sortiment udßlostφ. V∞t╣inou jsou spojeny s vyrovnßvacφ pam∞tφ, souborem, oknem Φi samotn²m editorem. V nßsledujφcφ tabulce uvßdφm p°ehled t∞ch, kterΘ pova╛uji za nejΦast∞ji pou╛φvanΘ.

BufNewFile zahajuje editaci dosud neexistujφcφho souboru
BufReadPre p°ed naΦtenφm editovanΘho souboru
BufRead, BufReadPost po naΦtenφ editovanΘho souboru
BufWrite, BufWritePre p°ed ulo╛enφm editovanΘho souboru
BufWritePost po ulo╛enφ editovanΘho souboru
BufEnter po vstupu do vyrovnßvacφ pam∞ti
BufLeave p°ed opu╣t∞nφm vyrovnßvacφ pam∞ti
WinEnter po vstupu do okna
WinLeave p°ed opu╣t∞nφm okna

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