Formatovani textu

Abych predesel pripadnemu nedorozumeni, predem vyjasnim pozice. vim je ASCII editor, nikoli typograficky nastroj. V teto casti budu proto mluvit o formatovani textu, tedy usporadani jednotlivych znaku do radku a sloupcu. Nebudu se zabyvat sazbou, cili estetickou upravou textu, ktera vyzaduje praci s proporcionalnim pismem, jeho ruznymi druhy a velikostmi. V oblasti sazby nema vim co nabidnout. Muze poslouzit pouze jako nastroj k editaci zdrojovych textu pro specializovane typograficke programy, jako je treba TeX. Sam ho pouzivam prave timto zpusobem.

Pravy okraj a jeho dodrzovani

Puvodni vi byl navrzen predevsim k vytvareni zdrojovych textu programu. V nich byvaji radky kratke a proto problem hlidani praveho okraje nebyl nijak zvlast palcivy. Pro editaci beznych textu je vsak tato vlastnost nezbytna.

Ve vim lze nastavit sirku radku (cili polohu praveho okraje) pomoci

:set textwidth=sirka
kde sirka udava pocet znaku na radku. Implicitni hodnotou je nula, pri niz vim pravy okraj nehlida a radky mohou byt siroke, co hrdlo raci. Jakmile do textwidth ulozite nenulovou hodnotu, zacne se editor starat o pravy okraj. Dela to obvyklym zpusobem. Jakmile jej pri psani prekrocite, vyhleda posledni mezeru od konce radku, v jejim miste radek ukonci a slovo, ktere prave pisete, presune na zacatek dalsiho.

Pri zapisu se muze uplanit tez automaticke odsazovani. Zapnete je pomoci :set autoindent. Jakmile radek zahajite mezerou ci nekolika mezerami, vim automaticky bude pridavat stejny pocet mezer na zacatek kazdeho radku pod nim. Existuji jeste dva dalsi rezimy odsazovani (:set smartindent a :set cindent), ktere vychazeji vstric formatovani zdrojovych textu v jazyce C. Pro psani beznych textu jsou spise na obtiz.

Zmena formatovani

Pri upravach textu snadno docilite toho, ze radek prekroci pravy okraj nebo se naopak neumerne zkrati. V takovych pripadech prichazi ke slovu preformatovani, ktere text znovu usporada v ramci soucasnych okraju.

Zakladnim prikazem pro preformatovani casti textu je gq. Za nim uvedte pohybovy prikaz, ktery urci cast textu, jiz se formatovani dotkne. Velmi casto jsou pouzivany kombinace gqj (formatuje tento a nasledujici radek) a gq} (formatuje od pozice kurzoru az do konce odstavce). Kurzor je po provedeni formatovaciho prikazu premisten na misto, kam by jej presunul dotycny pohybovy prikaz. Diky tomu lze snadno pokracovat ve formatovani dalsich prvku textu prostym opakovanim (prikaz .).

Specialnim pripadem je kombinace gqap. Ta zajisti formatovani celeho odstavce, v nemz se momentalne nachazi kurzor. Je priblizne ekvivalentem kombinace {gq} (navrat na zacatek odstavce a formatovani textu az po jeho konce). Tato operace je velmi prakticka, protoze casto provedete zasah kdesi v odstavci a nasledne jej chcete cely prerovnat.

Zarovnani textu

Krome nejbeznejsiho formatovani, dodrzujiciho predepsany pravy okraj, muzete pouzit jeste nekolik mene obvyklych zpusobu. Vsechny se vyvolavaji v podobe ex-prikazu a tykaji se proto vzdy skupiny radku:
prikaz vyznam
:ce nebo :center na stredovou osu
:ri nebo :right k pravemu okraji
:le nebo :left k levemu okraji
Rozsah radku, kterych se ma tato zmena dotknout, je nejvyhodnejsi urcit ve vizualnim rezimu. V pripade :right a :center muzete jako parametr stanovit sirku radku, ktera se ma pri formatovani pouzit. Napriklad centrovani pro radek o sirce 50 znaku zajisti prikaz
:ce 50
Pokud udaj chybi, pouzije se aktualni hodnota textwidth a jestlize je nulova, pouzije vim sirku obrazovky ci okna. Zadate-li ciselny parametr prikazu :left, bude pochopen jako pocet mezer, ktere ma vlozit pred kazdy preformatovany radek. Implicitni hodnotou je nula.

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