Spoluprßce se soubory a programy

Nejzßkladn∞j╣φ zßklady prßce se soubory jsem ji╛ prozradil. Chcete-li n∞kter² naΦφst do editoru, zadßte jej jako parametr p°i spu╣t∞nφ vim. Jestli╛e snad soubor uvedenΘho jmΘna dosud neexistuje, bude p°i ulo╛enφ vytvo°en.

Pokud se uklßdßnφ t²Φe, poslou╛φ k n∞mu p°φkaz :w. Chcete-li zßrove≥ ukonΦit editor, pou╛ijte p°φkaz :wq nebo rychlej╣φ klßvesovou kombinaci ZZ.

Jemnosti naΦφtßnφ soubor∙

Pokud b∞hem prßce na jednom souboru zatou╛φte po editaci jinΘho, nemusφte vim ukonΦovat a znovu startovat. StaΦφ ulo╛it aktußlnφ stav zpracovßvanΘho souboru a potΘ zadat :edit jmΘno_souboru. P°φkaz lze zkrßtit i na pouhΘ :e.

Lze dokonce pracovat se skupinou text∙. Pokud p°i startu programu zadßte v parametrech vφce ne╛ jedno jmΘno, vim otev°e prvnφ z uveden²ch soubor∙, ale ostatnφ si pamatuje. Kdy╛ se pak chcete posunout na nßsledujφcφ soubor, pou╛ijte p°φkaz :n. Naproti tomu :N vßs vracφ k p°edchozφmu.

P°φklad:
╪ekn∞me, ╛e v aktußlnφm adresß°i mßte skupinu zdrojov²ch text∙ v jazyku C a chcete v nich nahradit identifikßtor kuku identifikßtorem koko. Pokud se k danΘmu ·Φelu rozhodnete pou╛φt vim (vhodn∞j╣φ by asi byl sed nebo Perl), m∙╛ete postupovat nßsledovn∞:

Spustφte vim pro v╣echny zdrojovΘ texty

vim *.c
Prvnφ z nich uvidφte na obrazovce. Provedete zßm∞nu identifikßtor∙ p°φkazem :%s/kuku/koko/g, text ulo╛φte (:w) a p°ejdete na dal╣φ (:n). A tak dßle po°ßd dokola. P°i opakovßnφ p°φkaz∙ samoz°ejm∞ s v²hodou vyu╛ijete historii p°φkazovΘho °ßdku, tak╛e budete maΦkat pouze dvojteΦku a ╣ipku nahoru.

Nev²hodou t∞chto p°φkaz∙ je, ╛e p°i posunu na nßsledujφcφ Φi p°edchozφ soubor se editor ocitne v╛dy znovu ve v²chozφ pozici. Kurzor tedy p°esune na zaΦßtek textu. V °ad∞ situacφ by se v╣ak vφce hodilo, aby se editor vracel do souboru na pozici, z nφ╛ jste jej opustili. TakovΘ chovßnφ nabφzφ rozd∞lenφ obrazovky na okna a paralelnφ editace n∞kolika text∙. Ta ale pat°φ a╛ do Φßsti pro pokroΦilΘ.

Pokud neuvedete absolutnφ cestu k souboru, bude naΦten z aktußlnφho adresß°e. Jeho jmΘno vßm sd∞lφ p°φkaz :pwd (Print Working Directory, znalc∙m Unixu jist∞ bude pov∞dom²). Chcete-li jej zm∞nit, pou╛ijte :cd adresß°.

Zajφmavou mo╛nostφ je klßvesovß kombinace gf. Po jejφm pou╛itφ p°ejde vim k editaci souboru, jeho╛ jmΘno se nachßzφ pod kurzorem (kurzor nemusφ stßt na zaΦßtku jmΘna). Dφky tΘto schopnosti m∙╛ete snadno a rychle p°ejφt k editaci vklßdanΘho souboru Φi WWW strßnky, na ni╛ vede odkaz ze strßnky prßv∞ editovanΘ.

Vklßdßnφ do textu

Doposud jsem se zab²val pouze mo╛nostφ zm∞nit editovan² soubor. ObΦas v╣ak pot°ebujete do zpracovßvanΘho textu vlo╛it obsah urΦitΘho souboru. To za°φdφ p°φkaz :r jmΘno_souboru. Vlo╛φ se pod °ßdek s kurzorem.

P°φkaz :r v╣ak m∙╛e poslou╛it i ke spu╣t∞nφ programu. Jeho v²stup pak bude vlo╛en do editovanΘho textu stejn∞, jako v²╣e zmi≥ovan² obsah souboru. SkuteΦnost, ╛e po╛adujete spu╣t∞nφ programu, nikoli naΦtenφ souboru, vyznaΦφte vyk°iΦnφkem. P°φkaz pak mß tvar :r !p°φkaz.

P°φklad:
Obsah aktußlnφho adresß°e vlo╛φte do textu p°φkazem
:r !ls
respektive (v operaΦnφm systΘmu MS DOS)
:r !dir

Uklßdßnφ na disk

Zßkladnφm p°φkazem pro zßpis je samoz°ejm∞ :w, kter² ulo╛φ obsah editovanΘho souboru. M∙╛ete jej zapsat i pod nov²m jmΘnem, pokud pou╛ijete :w jmΘno_souboru. Kdy╛ se vyskytnou problΘmy (soubor je chrßn∞n proti zßpisu nebo "vytvß°en²" soubor ji╛ existuje), editor odmφtne akci provΘst. Ov╣em zßrove≥ vßs upozornφ na mo╛nost p°ipojit k p°φkazu vyk°iΦnφk, kter²m si m∙╛ete jeho provedenφ vynutit. Nap°φklad :w! zapφ╣e aktußlnφ obsah i do souboru, kter² je urΦen pouze pro Φtenφ. To samoz°ejm∞ bude fungovat pouze v p°φpad∞, ╛e mßte oprßvn∞nφ k tomu p°φslu╣nou ochranu vypnout.

Poslednφm re╛imem zßpisu je :w >>jmΘno_souboru. Zde se editovan² text p°ipojφ na konec uvedenΘho souboru.

Specißlnφm p°φpadem "ulo╛enφ" textu je, kdy╛ jej p°edßte ke zpracovßnφ jinΘmu programu. TakΘ k tomuto ·Φelu slou╛φ p°φkaz :w, tentokrßt ve tvaru :w !program. Editor spustφ uveden² program a prost°ednictvφm roury po╣le editovan² text do jeho standardnφho vstupu. V²sledek pak uvidφte na obrazovce.

P°φklad:
Chcete-li si nechat p°φkazem wc spoΦφtat pφsmena, slova a °ßdky v editovanΘm textu, pou╛ijte
:w !wc
V╣imn∞te si dvojφ ·lohy vyk°iΦnφku. Pokud se vyskytne na konci nßzvu p°φkazu, oznaΦuje jeho d∙razn∞j╣φ variantu. Nap°φklad :w! pokus ulo╛φ editovan² text do souboru pokus, p°esto╛e existuje. Jestli╛e v╣ak vyk°iΦnφk pou╛ijete na zaΦßtku slova, signalizuje spu╣t∞nφ programu. Proto :w !pokus p°edß editovan² text do standardnφho vstupu programu pokus.

JinΘ p°φkazy

Krom∞ v²╣e zmi≥ovan²ch zp∙sob∙ spoluprßce s programy, kdy vklßdßte do textu jejich v²stup nebo naopak uΦinφte text jejich vstupem, lze tΘ╛ odskoΦit z editace k jinΘmu programu. To lze provΘst jedno·Φelov∞ p°φkazem :!p°φkaz. Op∞t se objevuje vyk°iΦnφk na zaΦßtku slova - tedy jednß se o spu╣t∞nφ programu. vim jej provede, zobrazφ v²sledek a vrßtφ se k editaci textu.

Chcete-li si ud∞lat del╣φ v²let, pou╛ijte :sh. Vyvolß interpret p°φkaz∙, v n∞m╛ m∙╛ete d∞lat, co se vßm zlφbφ. Kdy╛ jej pozd∞ji ukonΦφte (na v∞t╣inu interpret∙ zabφrß p°φkaz exit), vrßtφte se zp∞t do vim.

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