vim na ex

Editor vi, predek vim, vznikl jako druha tvar editoru ex. Jednalo se o jeden program, ktery mel dve jmena a jim prislusejici dva druhy chovani. Spustil-li se jako vi, pracoval v celoobrazovkovem rezimu. Pokud jste jej zavolali pod jmenem ex, pracoval jako editor radkovy.

I v soucasnem vim zustala zachovana moznost pouzivat prikazy puvodniho ex. Budou vam pravdepodobne pripadat zvlastni, protoze radkove editory jiz ukoncily svou pout pocitacovym svetem a tento pojem dnes malokomu neco rika. Jednalo se o interaktivni editory, v nichz jste se ale nepohybovali primo v textu. Misto toho jste editacni operace ridili z jakehosi ovladaciho panelu. Zadavali jste pritom prikazy typu "presun se na radek 10", "smaz 3 radky", "nahrad na aktualnim radku slovo Ivanek slovem Ivan", "zobraz 5 radku" a podobne.

Do kategorie ex-prikazu patri ruzne nastavovani parametru, definice maker, prace se soubory a podobne. Jiste si vzpominate, ze jejich zadavani aktivujete z normalniho rezimu dvojteckou a ukoncujete bud klavesou [Enter] nebo [Esc] (pokud se rozhodnete akci odvolat).

Editacni prikazy ex

Malou skupinu ex-prikazu tvori tez prikazy editacni. Z nich je masivne pouzivan jediny: prikaz s (substitute), slouzici pro vyhledavani a nahrazovani retezcu. V teto kapitole budu pouzivat jiny - prikaz d (delete), ktery likviduje radky. Je totiz mnohem jednodussi.

Editacni ex-prikazy maji jednotny tvar:

<radky><prikaz><parametry>
Radky stanovi, kterych radku textu se bude tykat. Nasleduje urceni prikazu, jenz ma byt proveden. Ten muze ke sve cinnosti vyzadovat ci se necha ovlivnit jistymi parametry. V teto kapitole se budu podrobneji venovat pouze definici radku.

Specifikace radku

V nejjednodussim pripade muze zcela chybet. Pak se prikaz tyka pouze aktualniho radku. Zadanim :d[Enter] tedy smazete radek, na nemz se prave nachazi kurzor.

Druhou jednoduchou moznosti je zadat poradove cislo daneho radku. Napriklad o odstraneni devatenacteho radku se postara :19d (abych zkratil prikazy, budu s dovolenim vynechavat zaverecnou klavesu [Enter]). Specialni "cislo" predstavuje znak $, ktery oznacuje posledni radek textu. Druhou specialitou je tecka (.), ktera ztelesnuje aktualni radek.

Jak zjistovat cisla radku? Pokud nepracujete z pomaleho terminalu, nejlepsi je nechat si trvale zobrazovat pozici kurzoru pomoci :set ruler. V prave casti posledniho radku obrazovky se objevi dvojice cisel, z nichz prvni je cislo radku, na nemz se prave nachazi kurzor. Pokud toto zobrazovani z nejakeho duvodu nechcete zapnout, pouzivejte ke zjistovani cisel CTRL-G.

Pomerne casto potrebujete provest prikaz pro urcitou skupinu radku. V takovem pripade je zadejte prostrednictvim intervalu, jehoz dolni a horni mez oddelte navzajem carkou. Takze ke smazani pateho az osmeho radku poslouzi :5,8d. Muzete samozrejme vyuzit i specialni "cisla", takze vymazani textu od aktualniho radku az do konce souboru zajisti :.,$d. Vsimnete si, ze mezi jednotlivymi znaky se nedelaji mezery.

V rade pripadu (zejmena pri hledani a nahrazovani) chcete prikaz provest pro cely soubor. Pak sahnete po specialnim znaku %, ktery na miste definice radku slouzi jako zkratka za 1,$. Prikaz tudiz zasahne cely text.

Nejlahudkovejsi konstrukci je zadat cislo radku prostrednictvim vyhledavani. Misto prosteho cisla muzete totiz uvest /retezec/ a prikaz se bude tykat nejblizsiho nasledujiciho radku, obsahujiciho uvedeny retezec. Obdobne ?retezec? vyhledava smerem k zacatku souboru. Chcete-li tedy smat nejblizsi nasledujici komentar v jazyce C, pouzijte :/\/*/,/*\//d.

Vsimnete si, ze lomitko zde ma funkci specialniho znaku (ukoncuje hledany vyraz). Pokud se ma vyskytnout uvnitr hledaneho textu, je treba pred nim uvest zpetne lomitko, aby se tento specialni vyznam potlacil. Proto se zacatek komentare /* zapisuje ve tvaru \/* a konec analogicky.

A na zaver neco pro line. Nejpohodlnejsim (a casto i nejrychlejsim) zpusobem k zadavani rozmezi radku, jichz se ma prikaz dotknout, je vizualni rezim. Proste si vyberte dotycny text a stisknete :. Ve spodnim radku se objevi rozsah radku '<'>, coz znamena "od prvniho do posledniho vybraneho radku".

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