Spoluprace se soubory a programy

Nejzakladnejsi zaklady prace se soubory jsem jiz prozradil. Chcete-li nektery nacist do editoru, zadate jej jako parametr pri spusteni vim. Jestlize snad soubor uvedeneho jmena dosud neexistuje, bude pri ulozeni vytvoren.

Pokud se ukladani tyce, poslouzi k nemu prikaz :w. Chcete-li zaroven ukoncit editor, pouzijte prikaz :wq nebo rychlejsi klavesovou kombinaci ZZ.

Jemnosti nacitani souboru

Pokud behem prace na jednom souboru zatouzite po editaci jineho, nemusite vim ukoncovat a znovu startovat. Staci ulozit aktualni stav zpracovavaneho souboru a pote zadat :edit jmeno_souboru. Prikaz lze zkratit i na pouhe :e.

Lze dokonce pracovat se skupinou textu. Pokud pri startu programu zadate v parametrech vice nez jedno jmeno, vim otevre prvni z uvedenych souboru, ale ostatni si pamatuje. Kdyz se pak chcete posunout na nasledujici soubor, pouzijte prikaz :n. Naproti tomu :N vas vraci k predchozimu.

Priklad:
Rekneme, ze v aktualnim adresari mate skupinu zdrojovych textu v jazyku C a chcete v nich nahradit identifikator kuku identifikatorem koko. Pokud se k danemu ucelu rozhodnete pouzit vim (vhodnejsi by asi byl sed nebo Perl), muzete postupovat nasledovne:

Spustite vim pro vsechny zdrojove texty

vim *.c
Prvni z nich uvidite na obrazovce. Provedete zamenu identifikatoru prikazem :%s/kuku/koko/g, text ulozite (:w) a prejdete na dalsi (:n). A tak dale porad dokola. Pri opakovani prikazu samozrejme s vyhodou vyuzijete historii prikazoveho radku, takze budete mackat pouze dvojtecku a sipku nahoru.

Nevyhodou techto prikazu je, ze pri posunu na nasledujici ci predchozi soubor se editor ocitne vzdy znovu ve vychozi pozici. Kurzor tedy presune na zacatek textu. V rade situaci by se vsak vice hodilo, aby se editor vracel do souboru na pozici, z niz jste jej opustili. Takove chovani nabizi rozdeleni obrazovky na okna a paralelni editace nekolika textu. Ta ale patri az do casti pro pokrocile.

Pokud neuvedete absolutni cestu k souboru, bude nacten z aktualniho adresare. Jeho jmeno vam sdeli prikaz :pwd (Print Working Directory, znalcum Unixu jiste bude povedomy). Chcete-li jej zmenit, pouzijte :cd adresar.

Zajimavou moznosti je klavesova kombinace gf. Po jejim pouziti prejde vim k editaci souboru, jehoz jmeno se nachazi pod kurzorem (kurzor nemusi stat na zacatku jmena). Diky teto schopnosti muzete snadno a rychle prejit k editaci vkladaneho souboru ci WWW stranky, na niz vede odkaz ze stranky prave editovane.

Vkladani do textu

Doposud jsem se zabyval pouze moznosti zmenit editovany soubor. Obcas vsak potrebujete do zpracovavaneho textu vlozit obsah urciteho souboru. To zaridi prikaz :r jmeno_souboru. Vlozi se pod radek s kurzorem.

Prikaz :r vsak muze poslouzit i ke spusteni programu. Jeho vystup pak bude vlozen do editovaneho textu stejne, jako vyse zminovany obsah souboru. Skutecnost, ze pozadujete spusteni programu, nikoli nacteni souboru, vyznacite vykricnikem. Prikaz pak ma tvar :r !prikaz.

Priklad:
Obsah aktualniho adresare vlozite do textu prikazem
:r !ls
respektive (v operacnim systemu MS DOS)
:r !dir

Ukladani na disk

Zakladnim prikazem pro zapis je samozrejme :w, ktery ulozi obsah editovaneho souboru. Muzete jej zapsat i pod novym jmenem, pokud pouzijete :w jmeno_souboru. Kdyz se vyskytnou problemy (soubor je chranen proti zapisu nebo "vytvareny" soubor jiz existuje), editor odmitne akci provest. Ovsem zaroven vas upozorni na moznost pripojit k prikazu vykricnik, kterym si muzete jeho provedeni vynutit. Napriklad :w! zapise aktualni obsah i do souboru, ktery je urcen pouze pro cteni. To samozrejme bude fungovat pouze v pripade, ze mate opravneni k tomu prislusnou ochranu vypnout.

Poslednim rezimem zapisu je :w >>jmeno_souboru. Zde se editovany text pripoji na konec uvedeneho souboru.

Specialnim pripadem "ulozeni" textu je, kdyz jej predate ke zpracovani jinemu programu. Take k tomuto ucelu slouzi prikaz :w, tentokrat ve tvaru :w !program. Editor spusti uvedeny program a prostrednictvim roury posle editovany text do jeho standardniho vstupu. Vysledek pak uvidite na obrazovce.

Priklad:
Chcete-li si nechat prikazem wc spocitat pismena, slova a radky v editovanem textu, pouzijte
:w !wc
Vsimnete si dvoji ulohy vykricniku. Pokud se vyskytne na konci nazvu prikazu, oznacuje jeho duraznejsi variantu. Napriklad :w! pokus ulozi editovany text do souboru pokus, prestoze existuje. Jestlize vsak vykricnik pouzijete na zacatku slova, signalizuje spusteni programu. Proto :w !pokus preda editovany text do standardniho vstupu programu pokus.

Jine prikazy

Krome vyse zminovanych zpusobu spoluprace s programy, kdy vkladate do textu jejich vystup nebo naopak ucinite text jejich vstupem, lze tez odskocit z editace k jinemu programu. To lze provest jednoucelove prikazem :!prikaz. Opet se objevuje vykricnik na zacatku slova - tedy jedna se o spusteni programu. vim jej provede, zobrazi vysledek a vrati se k editaci textu.

Chcete-li si udelat delsi vylet, pouzijte :sh. Vyvola interpret prikazu, v nemz muzete delat, co se vam zlibi. Kdyz jej pozdeji ukoncite (na vetsinu interpretu zabira prikaz exit), vratite se zpet do vim.

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