|
Zvyraznovani syntaxe
vim dovede rozpoznavat syntakticke prvky v ruznych typech souboru a
vizualne (nejcasteji barevne) je odlisovat. Takze ve zdrojovych textech
programu budou odlisne zobrazena klicova slova, identifikatory a treba
retezce znaku. V HTML ci textech pro TeX budou zvyrazneny prikazy, jejich
parametry, komentare a dalsi prvky. Standardni barvy jsou sice tezce
psychedelicke, ale je to mimoradne prakticke.
Pokud nechcete prilis premyslet a jen si uzivat, pouzijte prikaz :syntax on . Mel by se vam naskytnout pohled podobny
tomu, ktery vidite na nasledujicim obrazku.
Prikaz :syntax on nacte tak zvany syntakticky
soubor. Jeho jmeno urci podle pripony aktualniho souboru. Distribuce
vim obsahuje syntakticke soubory pro celou radu typu souboru (ve
verzi 5.3 jich je 120). Najdete je v domacim adresari editoru (v
Unixu to je /usr/sharevim nebo
/usr/local/sharevim ), konkretne v podadresari
syntax .
Syntakticky soubor obsahuje pravidla pro zvyraznovani daneho typu souboru.
Jestlize se vam nelibi, muzete si je upravit bud primo v nem (pokud k tomu mate
opravneni) nebo v lokalni konfiguraci vim.
Zvyrazneni je tvoreno dvema slozkami. Nejprve jsou definovany syntakticke
polozky a skupiny. V podstate rikaji, jaky text ma byt zarazen do ktere
kategorie. Druha slozka pak urcuje, jak maji byt jednotlive polozky
prezentovany.
Definice syntaktickych polozek
Pro tento kratky text je problematika definice syntaktickych polozek prilis
obsahla. Je realizovana sadou prikazu :syntax .
Definuji jednotlive vzory, ktere maji byt v textu vyhledavany a zarazuji je do
syntaktickych skupin.
Existuji tri typy vzoru. Klicove slovo je tvoreno pouze "beznymi
neprazdnymi znaky". Jejich vycet obsahuje volba iskeyword . Vzoru typu shoda muze vyhovet
libovolny retezec, ktery splni vzorem stanovena pravidla. Poslednim typem vzoru
je oblast, u niz definujete, jak vypada zacatek a konec. Syntakticka
polozka pak bude uplatnena na cely text mezi nimi.
Chcete-li se o definovani syntaktickych polozek dozvedet vice, pouzijte :help syntax a prohlednete si syntakticke soubory z
distribuce editoru.
Zvyraznovani
Zatimco definice syntaktickych kategorii je samanismus pomerne hrubeho zrna, do
zmen v jejich podobe muze bez tragictejsich nasledku zasahovat i laik. Jeho
zakladem je prikaz
:highlight <skupina> <rezim>=<hodnota>
<skupina> je nazev syntaktice skupiny, ktere se zvyrazneni tyka.
Ten musite odhalit ze syntaktickeho souboru. Zde budu chovani predvadet na
skupine Normal , ktera reprezentuje bezny text a pouziva se pro ty
znaky, ktere nebyly zarazeny do zadne jine.
<rezim> urcuje, pro jaky rezim zobrazeni je zvyrazneni urceno.
vim rozlisuje tri: bezny terminal (term ), barevny
terminal (cterm ) a graficke uzivatelske rozhrani
(gui ).
- Bezny terminal
- Zde se pro <hodnotu> nabizeji pouze nejzakladnejsi zpusoby
zvyrazneni, jako je
bold (tucne), underline
(podtrzeni), reverse (inverzni zobrazeni), italic
(kurziva) a NONE (vsechno vypne). Navic vas terminal nemusi ani
vsechny pouzivat.
Doporucuji davat si pozor na zvyrazneni podtrzenim, protoze splyva se znakem
"podtrzitko" (_). Pokud v programech pouzivate identifikatory obsahujici
podtrzitko, je to pomerne neprijemne.
- Barevny terminal
- Pro rezim
cterm muzete pouzivat stejne hodnoty, jako u
term . Navic vsak mate k dispozici "rezimy" ctermfg
pro stanoveni barvy pisma a ctermbg pro barvu pozadi.
Priklad:
Rekneme, ze bych chtel mit standardni text vyveden
tucnym zlutym pismem na tmave modrem
pozadi
|
(ja bych tedy nechtel, mam sve oci rad, ale vezmeme to
jako priklad). Pouzil bych prikaz :highlight Normal cterm=bold ctermfg=Yellow ctermbg=DarkBlue
- Graficke uzivatelske rozhrani
- Rezim
gui se podoba predchozimu. Opet mate k dispozici
hodnoty pro term a k definici barev slouzi guifg a
guibg . Tentokrat navic muzete jako jejich hodnotu primo definovat
slozeni barvy konstrukci "#rrggbb", kde rr, gg a bb
jsou dvojice sestnactkovych cislic udavajicich postupne intenzitu cervene,
zelene a modre slozky barvy.
Priklad:
olivove pismo na lososove ruzovem
pozadi
|
(fuj!) bych vyrobil prikazem
:highlight Normal gui=bold guibg=#ff9999 guifg=#666600
K dispozici mate jeste "rezim" font , kterym muzete pro danou
syntaktickou skupinu predepsat druh pisma. Ovsem pozor! Vsechna pouzita pisma
musi mit stejnou velikost znaku. Jinak mohou byt vysledky nepredvidatelne.
© 1997, 1998 Pavel Satrapa
|