Tútorial k Emacsu. Podmienky pozri na konci. Do češtiny preložil Milan Zamazal , do slovenčiny Miroslav Vaško . Máte pred sebou tútorial k Emacsu. Príkazy Emacsu všeobecne využívajú klávesu CONTROL (občas označovanú ako CTRL alebo CTL) alebo klávesu META (občas označovanú EDIT alebo ALT). Aby sme tieto názvy nemuseli stále písať v plnom znení, budeme používať nasledujúce skratky: C- znamená podržať klávesu CONTROL a stlačiť znak . Teda C-f znamená: podržte klávesu CONTROL a stlačte f. M- znamená podržať klávesu META, EDIT alebo ALT a stlačiť . Ak nemáte žiadnu z kláves META, EDIT ani ALT, tak namiesto toho stlačte a pustite klávesu ESC a potom . Klávesu ESC budeme označovať . Dôležitá poznámka: prácu s Emacsom ukončíte stlačením C-x C-c (dva znaky). Znaky ">>" na ľavom okraji označujú miesta, kde si máte vyskúšať príkaz. Napr.: <> [Prostredná časť obrazovky je prázdna zámerne. Text pokračuje nižšie.] >> Teraz stlačte C-v (view next screen) pre posun na ďalšiu obrazovku. (Smelo do toho, spravte to pridržaním klávesy control a stlačením v.) Od tejto chvíle by ste toto mali robiť ak dočítate zobrazenú obrazovku. Všimnite si, že pri posuve obrazoviek vždy zostávajú zobrazené dva riadky z predchádzajúcej obrazovky; to poskytuje určitú náväznosť pri postupnom čítaní textu. Prvá vec, ktorú potrebujete vedieť je, ako sa v texte pohybovať z jedného miesta na druhé. Už viete, ako sa posunúť o jednu obrazovku vpred, pomocou C-v. Na prechod o obrazovku späť použite M-v (podržte klávesu META a stlačte v alebo stlačte v ak nemáte klávesy META, EDIT ani ALT). >> Skúste stlačiť M-v a potom C-v, niekoľko krát to zopakujte. * ZHRNUTIE ---------- Na prezeranie obrazovkových stránok sú užitočné nasledujúce príkazy: C-v Posuv o obrazovku vpred M-v Posuv o obrazovku späť C-l Zmazanie obrazovky a znovuzobrazenie celého textu, pritom sa text pod kurzorom presunie k stredu obrazovky. (Ide o Control-L a nie Control-1.) >> Nájdite kurzor a zapamätajte si, aký je okolo neho text. Potom stlačte C-l. Nájdite kurzor znovu a všimnite si, že je okolo neho ten istý text. Na pohyb po celých obrazovkách môžete tiež použiť klávesy PageUp a PageDown, ak ich Váš terminál má, ale pre pohyb sú efektívnejšie klávesy C-v a M-v. * ZÁKLADNÉ OVLÁDANIE KURZORU ---------------------------- Pohyb medzi obrazovkami je užitočný, ale ako sa premiestnime na konkrétne miesto v texte na obrazovke? Je to možné dosiahnuť niekoľkými spôsobmi. Najzákladnejším spôsobom je použitie príkazov C-p, C-b, C-f a C-n. Každý z týchto príkazov presunie kurzor na obrazovke o jeden riadok alebo stĺpec v danom smere. Tu je tabuľka znázorňujúca smer posunu kurzoru vyvolaný týmito štyrmi príkazmi: Predchádzajúci riadok, C-p : : Dozadu, C-b .... Momentálna pozícia kurzoru .... Dopredu, C-f : : Nasledujúci riadok, C-n >> Presuňte kurzor na prostredný riadok tohto diagramu pomocou C-n alebo C-p. Potom stlačte C-l, aby ste na obrazovke videli celý diagram vycentrovaný. Pravdepodobne si tieto príkazy ľahko zapamätáte podľa začiatočných písmen anglických názvov: P ako previous (predchádzajúci), N ako next (nasledujúci), B ako backward (späť), F ako forward (vpred). Sú to základné príkazy pre pohyb kurzoru a budete ich používať stále, takže by bolo veľmi vhodné, keby ste sa ich teraz naučili. >> Stlačte niekoľko krát C-n, aby ste kurzor presunuli na tento riadok. >> Posuňte kurzor dovnútra riadku pomocou niekoľkých C-f a potom hore stlačením C-p. Pozorujte, čo C-p robí, keď je kurzor uprostred riadku. Každý riadok textu končí znakom nového riadku, ktorý ho oddeľuje od nasledujúceho riadku. Znakom nového riadku by mal byť ukončený aj posledný riadok súboru (napriek tomu, že to Emacs nevyžaduje). >> Vyskúšajte C-b na začiatku riadku. Kurzor by sa mal presunúť na koniec predchádzajúceho riadku, pretože ho tým presuniete cez znak nového riadku. C-f funguje analogicky ako C-b, tj. na konci riadku dôjde k presunu na ďalší riadok. >> Stlačte niekoľkokrát C-b, takže uvidíte, kde sa nachádza kurzor. Potom stláčajte C-f, aby ste sa vrátili na koniec riadku. Potom stlačte ešte raz C-f, aby ste sa presunuli na nasledujúci riadok. Keď kurzorom prejdete cez horný alebo dolný okraj obrazovky, posunie sa text za príslušným okrajom na obrazovku. Táto vlastnosť sa nazýva "scrollovanie". Umožňuje premiestniť kurzor na ľubovoľné miesto v texte, bez toho, aby kurzor opustil obrazovku. >> Skúste posunúť kurzor pod dolný okraj obrazovky pomocou C-n a pozorujte, čo sa stane. Ak je posun po znakoch príliš pomalý, môžete sa pohybovať po slovách. M-f (Meta-f) robí posun o slovo vpred a M-b robí posun o slovo späť. >> Stlačte niekoľko krát M-f a M-b. Ak sa kurzor nachádza uprostred slova, M-f presunie kurzor na koniec tohto slova. Ak sa nachádza kurzor v medzere medzi slovami, M-f presunie kurzor na koniec nasledujúceho slova. M-b pracuje analogicky v opačnom smere. >> Stlačte niekoľko krát M-f a M-b spolu s C-f a C-b, aby ste videli výsledky príkazov M-f a M-b vykonávaných z rôznych miest vnútri slov a medzi nimi. Všimnite si analógie medzi C-f a C-b na jednej strane a M-f a M-b na strane druhej. Meta znaky sú veľmi často využívané pre operácie vzťahujúce sa na entity definované jazykom (slová, vety, odstavce), naopak Control znaky pracujú na základných prvkoch nezávislých na tom, čo práve editujete (znaky, riadky, a pod.). Táto analógia platí tiež pre riadky a vety: C-a a C-e vykonáva presun na začiatok a koniec riadku, M-a a M-e vykonáva presun na začiatok a koniec vety. >> Skúste niekoľko krát C-a a potom niekoľko krát C-e. Skúste niekoľko krát M-a a potom niekoľko krát M-e. Všimnite si, že opakované C-a nerobí nič, ale opakované M-a vždy vykoná presun na ďalšiu vetu. Princípu analógie to síce príliš nezodpovedá, ale napriek tomu je toto chovanie možné považovať za prirodzené. Pozícia kurzoru v texte sa tiež nazýva "bod" ("point"). Aby sme to parafrázovali, kurzor je vidieť na obrazovke v mieste, kde je bod umiestnený v texte. Tu je prehľad jednoduchých operácií pre pohyb kurzoru vrátane príkazov pre pohyb medzi slovami a vetami: C-f Presun o znak vpred C-b Presun o znak späť M-f Presun o slovo vpred M-b Presun o slovo späť C-n Presun na nasledujúci riadok C-p Presun na predchádzajúci riadok C-a Presun na začiatok riadku C-e Presun na koniec riadku M-a Presun späť na začiatok vety M-e Presun vpred na koniec vety >> Vyskúšajte si teraz niekoľko krát všetky tieto príkazy kvôli cviku. Sú to najpoužívanejšie príkazy. Ďalšie dva dôležité príkazy pre pohyb kurzoru sú M-< (Meta menšie-ako), ktorý vykoná presun na začiatok celého textu, a M-> (Meta väčší-ako), ktorý vykoná presun na koniec celého textu. Na väčšine terminálov je "<" nad čiarkou, takže pre vyvolanie tohto znaku musíte použiť klávesu Shift. Na týchto termináloch je teda nutné použiť klávesu Shift aj v prípade príkazu M-<; bez klávesy Shift by ste stlačili M-čiarka. >> Skúste teraz M-< pre presun na začiatok tútorialu. Použite potom opakovane C-v, aby ste sa opäť vrátili sem. >> Skúste teraz M-> pre presun na koniec tútorialu. Použite potom opakovane M-v, aby ste sa opäť vrátili sem. Kurzor môžete presúvať tiež pomocou kurzorových kláves (klávesy so šípkami), ak ich Váš terminál má. My Vám však doporučujeme naučiť sa C-b, C-f, C-n a C-p, a to z troch dôvodov. Za prvé, tieto klávesy fungujú na všetkých typoch terminálov. Za druhé, akonáhle raz získate cvik v používaní Emacsu, zistíte, že používánie týchto CTRL znakov je rýchlejšie ako používanie kurzorových kláves (pretože nemusíte presúvať ruku z písacej pozície). Za tretie, ak si zvyknete používať tieto CTRL-znak príkazy, ľahko sa naučíte používať iné pokročilé príkazy pre pohyb kurzoru. Väčšina príkazov Emacsu akceptuje numerický argument; ten pre väčšinu príkazov slúži ako opakovač. Počet opakovaní príkazu zadáte prostredníctvom stlačenia C-u nasledovaného stlačením príslušných číslic pred vyvolaním príkazu. Ak máte META (alebo EDIT či ALT) klávesu, existuje alternatívna možnosť zadania numerického argumentu: pridržte klávesu META a stlačte príslušné číslice. Doporučujeme naučiť sa C-u metódu, pretože tá funguje na akomkoľvek terminále. Číselný argument sa tiež nazýva "prefixový argument", pretože ho píšete ešte pred príkazom, na ktorý sa vzťahuje. Napríklad C-u 8 C-f vykoná presun o osem znakov vpred. >> Skúste použiť C-n alebo C-p s numerickým argumentom, na presun kurzoru k tomuto riadku s jediným príkazom. Väčšina príkazov používa numerický argument ako opakovač, ale niektoré príkazy ho používajú iným spôsobom. Zopár príkazov (ale žiaden z tých, ktoré ste sa doteraz naučili) ho používa ako príznak -- prítomnosť číselného argumentu bez ohľadu na jeho hodnotu spôsobí, že sa príkaz správa ináč. Iným druhom výnimky sú C-v a M-v. Ak dostanú numerický argument, posunú obrazovku hore alebo dole o zodpovedajúci počet riadkov namiesto obrazoviek. Napríklad C-u 4 C-v posunie obrazovku o 4 riadky. >> Skúste teraz stlačiť C-u 8 C-v. To by malo posunúť obrazovku o 8 riadkov hore. Pokiaľ by ste ju chceli posunúť naspäť dole, môžete dať argument príkazu M-v. Ak používate X Windows, mali by ste mať na ľavej strane emacsového okna vysokú obdĺžnikovú oblasť, nazvanú scrollbar. Môžete potom text posúvať klikaním myšou na scrollbar. >> Skúste stlačiť prostredné tlačítko na vrchole zvýraznenej oblasti vo vnútri scrollbaru. To by malo text posunúť na pozíciu danú tým, ako vysoko alebo nízko ste klikli. >> Skúste pri stlačenom prostrednom tlačidle posúvať myšou hore a dole. Uvidíte, ako sa text posúva hore a dole podľa toho, ako hýbete myšou. * KEĎ EMACS NEREAGUJE --------------------- Ak Emacs prestane reagovať na Vaše príkazy, môžete prebiehajúcu činnosť bezpečne zastaviť pomocou C-g. Pomocou C-g môžete zastaviť príkaz, ktorého činnosť trvá príliš dlho. C-g môžete použiť tiež pre odstránenie numerického argumentu príkazu, ktorý nechcete dokončiť. >> Stlačte C-u 100 pre vytvorenie numerického argumentu 100 a potom stlačte C-g. Teraz stlačte C-f. Kurzor by sa mal posunúť iba o jeden znak, pretože ste argument zrušili prostredníctvom C-g. Ak ste omylom stlačili , môžete sa ho zbaviť pomocou C-g. * DEAKTIVOVANÉ PRÍKAZY ---------------------- Niektoré príkazy Emacsu sú "deaktivované" ("disabled"), aby ich začínajúci používatelia nemohli vyvolať náhodne. Ak vyvoláte niektorý z deaktivovaných príkazov, Emacs zobrazí hlásenie oznamujúce, ktorý príkaz to bol, s otázkou, či chcete tento príkaz vykonať. Ak naozaj chcete príkaz vyskúšať, stlačte medzerník ako odpoveď na túto otázku. Zvyčajne, ak nechcete deaktivovaný príkaz vykonať, odpovedzte na túto otázku pomocou "n". >> Stlačte C-x C-l (čo je deaktivovaný príkaz), potom na otázku odpovedzte n. * OKNÁ ------ Emacs môže mať niekoľko okien (windows), pritom každé z nich zobrazuje svoj vlastný text. Ako viac okien používať, objasníme neskôr. Teraz chceme objasniť, ako sa zbaviť nadbytočných okien a vrátiť sa do základnej jednookennej editácie. Je to jednoduché: C-x 1 Jedno okno (tj. zrušenie všetkých ostatných okien) Teda vloženie Control-x nasledované číslicou 1. C-x 1 rozšíri okno obsahujúce kurzor cez celú obrazovku. Zruší to všetky ostatné okná. >> Presuňte kurzor na tento riadok a stlačte C-u 0 C-l >> Stlačte Control-h k Control-f. Pozorujte, ako sa aktuálne okno zmenší a objaví sa nové okno kvôli zobrazeniu dokumentácie pre príkaz Control-f. >> Stlačte C-x 1 a pozorujte, ako okno s dokumentáciou zmizne. Tento príkaz sa odlišuje od už naučených príkazov tým, že pozostáva z dvoch znakov. Začína znakom CONTROL-x. Exostuje celá séria príkazov začínajúcich na CONTROL-x; veľa z nich sa týka okien, súborov, bufferov a súvisiacich vecí. Tieto príkazy pozostávajú z dvoch, troch alebo štyroch znakov. * VKLADANIE A MAZANIE --------------------- Ak chcete vložiť text, proste ho napíšte. Znaky, ktoré vidíte, ako A, 7, *, atď., sú Emacsom chápané ako text a vkladané okamžite. Pre vloženie znaku nového riadku stlačte (klávesu Enter). Posledný znak, ktorý ste napísali, môžete zmazať stlačením . je klávesa na klávesnici -- tá istá, ktorú normálne používate na zmazanie naposledy napísaného znaku. Je to zvyčajne veľká klávesa pár riadkov nad klávesou , a je väčšinou označovaná ako "Delete", "Del" alebo "Backspace". Ak je veľká klávesa na tom mieste označená ako "Backspace", potom je to ona, ktorú budete používať ako . Môže tam byť niekde inde ešte klávesa označená ako "Delete", ale to nie je . Všeobecne, maže znak bezprostredne pred momentálnou pozíciou kurzoru. >> Vykonajte to teraz -- napíšte niekoľko znakov a potom ich zmažte niekoľkými stlačeniami . Nebojte sa zmien v tomto súbore; originálny tútorial sa nezmení. Toto je Vaša osobná kópia. Keď sa riadok textu zväčší natoľko, že presiahne jeden riadok obrazovky, je zobrazený na viacerých riadkoch obrazovky. Riadok textu, ktorý pokračuje na ďalšom riadku obrazovky, je indikovaný spätným lomítkom ("\") (alebo, ak používate grafický systém, malá zakrivená šípka) na pravom okraji obrazovky. >> Vkladajte text, pokiaľ nedosiahnete pravého okraju, a pokračujte vo vkladaní. Objaví sa Vám pokračovací riadok. >> Použite pre zmazanie textu, pokiaľ se riadok textu opäť nevojde na jeden riadok obrazovky. Pokračovací riadok zmizne. Znak nového riadku môžete zmazať ako ktorýkoľvek iný znak. Zmazanie znaku nového riadku medzi dvoma riadkami spôsobí ich spojenie do jediného riadku. Ak je výsledný riadok príliš dlhý na to, aby sa vošiel na šírku obrazovky, bude zobrazený pokračovacím riadkom. >> Presuňte kurzor na začiatok riadku a stlačte . To tento riadok spojí s riadkom predchádzajúcim. >> Stlačte pre znovuvloženie zmazaného znaku nového riadku. Spomeňte si, že väčšina príkazov Emacsu môže dostať počet opakovaní; vrátane textových znakov. Opakovanie textových znakov ich vloží niekoľko krát. >> Vyskúšajte si to -- stlačte C-u 8 * pre vloženie ********. Teraz už poznáte najzákladnejšie spôsoby, ako niečo v Emacse napísať a ako opravovať chyby. Môžete ale tiež mazať text po slovách alebo po riadkoch. Tu je zhrnutie operácií pre mazanie textu: Zmazanie znaku bezprostredne pred kurzorom C-d Zmazanie znaku nasledujúceho za kurzorom M- Zrušenie slova bezprostredne pred kurzorom M-d Zrušenie slova nasledujúceho za kurzorom C-k Zrušenie textu od pozície kurzoru do konca riadku M-k Zrušenie textu do konca aktuálnej vety Všimnite si, že a C-d, resp. M- a M-d, rozširujú paralelu začatú C-f a M-f (pravda, naozaj nie je control znak, ale tým sa nebudeme trápiť). C-k a M-k sú ako C-e a M-e v zmysle vzťahu riadkov k vetám. Ľubovoľnú časť buffera môžete zrušiť aj nasledujúcim spôsobom. Presuňte sa na koniec tejto časti a stlačte C-@ alebo C-SPC (ľubovoľnú z týchto kombinácií). (SPC znamená medzerník.) Presuňte sa na druhý koniec tejto časti a stlačte C-w. Text medzi týmito pozíciami bude zrušený. >> Presuňte kurzor na písmeno Ľ na začiatku predchádzajúceho odstavca. >> Stlačte C-SPC. Emacs by mal zobraziť v spodnom riadku obrazovky správu "Mark set". >> Presuňte kurzor na písmeno c v slove "koniec" na druhom riadku odstavca. >> Stlačte C-w. Text, ktorý začína písmenom L a končí pred písmenom "c" bude zrušený. Uvedomte si, že rozdiel medzi "rušením" ("killing") a "mazaním" ("deleting") je ten, že "zrušené" veci môžu byť vhodené späť, zatiaľ čo "zmazané" nie. Všeobecne príkazy, ktoré môžu zmazať väčšie množstvo textu, ukladajú text, zatiaľ čo príkazy, ktoré mažú jediný znak alebo iba prázdne riadky a medzery, mazaný text neukladajú. >> Presuňte kurzor na začiatok neprázdneho riadku. Potom stlačte C-k pre zrušenie textu na tomto riadku. >> Stlačte C-k druhý krát. Uvidíte, že to zruší znak nového riadku, ktorý je za týmto riadkom. Všimnite si, že jedno C-k zruší obsah riadku a druhé C-k zruší riadok samotný a posunie všetky ďalšie riadky hore. C-k spracováva numerický argument špeciálne: zruší zodpovedajúci počet riadkov VRÁTANE ich obsahu. To už nie je opakovanie. C-u 2 C-k zruší dva riadky a ich obsah; dvojité stlačenie C-k by toto obvykle nespravilo. Vracanie textov späť sa nazýva "vhadzovanie" ("yanking"). (Predstavte si opätovné vhadzovanie, vracanie späť textu, ktorý bol odstránený.) Zmazaný text môžete vhodiť buď na to isté miesto, odkiaľ bol zmazaný, alebo na iné miesto v bufferi, alebo dokonca aj do iného súboru. Text môžete vhodiť aj viac krát, keď vytvárate jeho ďalšie kópie. Príkazom na vhadzovanie je C-y. Tento príkaz vloží posledný zmazaný text na pozíciu, na ktorej sa nachádza kurzor. >> Skúste to; stlačte C-y pre vhodenie textu späť. Ak stlačíte C-k niekoľko krát po sebe. všetok zmazaný text je uložený spolu tak, aby bolo možné vhodiť späť všetky riadky naraz. >> Stlačte niekoľko krát C-k. Teraz obnovte naposledy zrušený text: >> Stlačte C-y. Potom posuňte kurzor o niekoľko riadkov nižšie a stlačte C-y znovu. Teraz vidíte, ako je možné kopírovať text. Čo keď máte nejaký text, ktorý by ste radi vhodili späť a potom zrušíte niečo iného? C-y by vložilo posledný zrušený text. Ale predchádzajúci text ni je stratený. Môžete ho získať späť použitím príkazu M-y. Potom, čo spravíte C-y pre získanie posledného zrušeného textu, stlačenie M-y vymení tento vhodený text za predchádzajúci zrušený text. Ďalšími a ďalšími stlačeniami M-y dostávate predchádzajúce a predchádzajúce zrušené texty. Keď dosiahnete text, ktorý hľadáte, nemusíte s ním pre jeho uchovanie nič ďalšieho robiť. Jednoducho vhodený text ponechajte, kde je, a pokračujte v editácii. Ak opakujete M-y dostatočne dlho, dostanete se späť k východziemu bodu (posledne zrušenému textu). >> Zrušte riadok, presuňte kurzor niekam inam a zrušte iný riadok. Potom vykonajte C-y pre vrátenie druhého zrušeného riadku. Potom stlačte M-y a vhodený riadok bude nahradený prvým zrušeným riadkom. Opakujte M-y a pozorujte, čo dostávate. Pokračujte v tom, pokiaľ sa znova neobjaví druhý zrušený riadok a potom niekoľko ďalších. Ak chcete, môžete skúsiť predať M-y kladné a záporné argumenty. * UNDO ------ Ak vykonáte v texte zmenu a potom zistíte, že to bol omyl, môžete zmenu vrátiť príkazom undo, C-x u. C-x u obvykle vráti zmeny vykonané jedným príkazom; pokiaľ C-x u zopakujete niekoľko krát po sebe, každé opakovanie vráti jeden ďalší príkaz. Sú ale dve výnimky: príkazy, ktoré nemenia text, sa nepočítajú (to zahŕňa príkazy pre pohyb kurzoru a rolovanie) a znaky vkladajúce samy seba sú obvykle spracovávané v skupinách až po 20. (To je kvôli tomu, aby sa zredukoval počet C-x u nutných pre vrátenie vkladaného textu.) >> Zrušte tento riadok pomocou C-k, stlačte potom C-x u a riadok by sa mal znova objaviť. Alternatívny undo príkaz je C-_; pracuje rovnako ako C-x u, je však menej pracné ho aplikovať niekoľko krát za sebou. Nevýhodou C-_ je, že na niektorých klávesniciach nie je jasné, ako ho vyvolať. To je dôvod, prečo ponúkame aj C-x u. Na niektorých termináloch môžete C-_ vyvolať stlačením / pri stlačenom CTRL. Numerický argument pre C-_ a C-x u funguje ako počet opakovaní. Pomocou príkazu undo môžete vrátiť zrušený aj zmazaný text. Rozdiel medzi mazaním a rušením textu ovplyvňuje možnosť vhodenia tohto textu pomocou C-y, neovplyvňuje ale možnosti príkazu undo. * SÚBORY -------- Aby text, ktorý editujete, zostal trvale uchovaný, musíte ho uložiť do súboru. Inak by bol po ukončení Emacsu stratený. Svoju editáciu spojíte so súborom "vyhľadaním" ("finding") súboru. (Tiež sa to nazýva "navštívenie" ("visiting") súboru.) Vyhľadanie súboru znamená, že vidíte jeho obsah v Emacse. V mnohých ohľadoch je to, ako by ste editovali priamo ten súbor. Napriek tomu zmeny, ktoré prostredníctvom Emacsu robíte, sa nestanú trvalými, pokiaľ tieto zmeny do súboru "neuložíte" ("save"). Tým sa zamedzí nechcenému ponechaniu čiastočne zmeneného súboru v systéme. Dokonca aj keď súbor uložíte, Emacs uchová pôvodný súbor pod zmeneným názvom pre prípad, že by ste zistili, že vaše úpravy boli chybné. Keď sa pozriete do dolnej časti obrazovky, uvidíte riadok, ktorý začína a končí pomlčkami a na začiatku má "--:-- TUTORIAL.sk" alebo niečo podobného. Táto časť obrazovky obvykle obsahuje meno súboru, ktorý je práve navštívený. Akurát teraz máte navštívený súbor nazvaný "TUTORIAL.sk", ktorý je Vašou osobnou čmáraciou kópiou tútorialu Emacsu. Keď v Emacse vyhľadáte súbor, jeho meno sa objaví presne na tom mieste. Ďalšou vecou súvisiacou s príkazom pre vyhľadanie súboru je to, že musíte povedať, ktoré meno súboru chcete. Hovoríme, že príkaz "číta argument z terminálu" (v tomto prípade je argumentom meno súboru). Potom, čo vyvoláte príkaz C-x C-f Vyhľadanie súboru Emacs sa Vás opýta na meno súboru. Meno súboru, ktoré píšete, sa objavuje v spodnom riadku obrazovky, ktorý sa v tejto situácii nazýva minibuffer. Pre editáciu mena súboru môžete používať obvyklé editačné príkazy Emacsu. Zadávanie mena súboru (všeobecne akýkoľvek vstup z minibuffera) môžete zrušiť príkazom C-g. >> Stlačte C-x C-f a potom C-g. To minibuffer zruší a tiež to zruší príkaz C-x C-f, ktorý minibuffer použil. Takže nevyhľadáte žiadny súbor. Po napísaní mena súboru stlačte na jeho ukončenie. Príkaz C-x C-f potom začne pracovať a vyhľadá súbor, ktorý ste zvolili. Po skončení príkazu C-x C-f minibuffer zmizne. Po malej chvíli sa obsah súboru objaví na obrazovke a môžete ho editovať. Keď chcete zmeny natrvalo uložiť, použite príkaz C-x C-s Uloženie súboru To skopíruje text z Emacsu do súboru. Keď to spravíte prvý krát, Emacs premenuje pôvodný súbor na súbor s novým menom, aby nebol stratený. Nové meno je vytvorené pridaním "~" na koniec pôvodného mena súboru. Keď je ukladanie dokončené, Emacs zobrazí meno zapísaného súboru. Mali by ste ukladať rozumne často, aby ste nestratili príliš veľa práce v prípade pádu systému. >> Stlačte C-x C-s pre uloženie Vašej kópie tútorialu. Malo by to zobraziť "Wrote ...TUTORIAL.sk" v spodnom riadku obrazovky. POZNÁMKA: Na niektorých systémoch spôsobí stlačenie C-x C-s zatuhnutie obrazovky a nevidíte žiadny ďalší výstup z Emacsu. To znamená, že "vlastnosť" operačného systému nazvaná "flow control" zachytáva C-s a nepustí ho k Emacsu. Pre odtuhnutie obrazovky stlačte C-q. Potom v sekcii "Spontaneous Entry to Incremental Search" v manuále Emacsu vyhľadajte radu, ako sa vysporiadať s touto "vlastnosťou". Existujúci súbor môžete vyhľadať, aby ste ho mohli prehliadať alebo editovať. Môžete tiež vyhľadať súbor, ktorý ešte neexistuje. To je spôsob, akým sa dá vytvoriť súbor v Emacse: vyhľadajte súbor, ktorý bude na začiatku prázdny a potom začnite vkladať text určený pre tento súbor. Keď požiadate o uloženie, Emacs skutočne vytvorí súbor s textom, ktorý ste vložili. Od tej chvíle sa potom môžete cítiť, ako keby ste editovali už existujúci súbor. * BUFFERY --------- Ak vyhľadáte pomocou C-x C-f druhý súbor, prvý súbor v Emacse zostáva. Môžete sa doň späť prepnúť jeho opätovným vyhľadaním pomocou C-x C-f. Týmto spôsobom môžete do Emacsu dostať pomerne veľa súborov. >> Vytvorte súbor pomenovaný "foo" stlačením C-x C-f foo . Potom vložte nejaký text, zmeňte ho a uložte "foo" stlačením C-x C-s. Nakoniec stlačte C-x C-f TUTORIAL.sk , čím sa vrátite späť do tútorialu. Emacs ukladá text každého súboru do objektu nazývaného "buffer". Vyhľadanie súboru vytvorí v Emacse nový buffer. Ak chcete vidieť zoznam bufferov, ktoré momentálne existujú vo Vašom procese Emacs, stlačte: C-x C-b Zoznam bufferov >> Skúste teraz C-x C-b. Uvidíte, že každý buffer má v zozname meno a môže tam mať tiež meno súboru, ktorého text obsahuje. AKÝKOĽVEK text, ktorý vidíte v emacsovom okne, je vždy súčasťou nejakého bufferu. >> Stlačte C-x 1, aby ste sa zbavili zoznamu bufferov. Ak máte niekoľko bufferov, iba jeden z nich je "aktuálny". Je to ten buffer, ktorý práve upravujete. Ak chcete upravovať iný buffer, musíte sa doňho "prepnúť". Ak sa chcete prepnúť do bufferu so súborom, môžete ho znova otvoriť príkazom C-x C-f. Ale existuje jednoduchší spôsob: použite príkaz C-x b. Pri tomto príkaze musíte napísať meno bufferu. >> Napíšte C-x b foo na vrátenie sa do bufferu "foo", ktorý uchováva text súboru "foo". Potom napíšte C-x b TUTORIAL.sk na vrátenie sa do tohto návodu. Väčšinu času, meno bufferu je také isté ako meno súboru (bez názvu adresára). Ale nie je to vždy pravda. Zoznam bufferov vytvorený s C-x C-b vždy ukáže mená každého bufferu. HOCAKÝ text, ktorý vidíte v okne Emacsu je vždy časť nejakého bufferu. Niektoré buffery nezodpovedajú súborom. Napríklad, buffer pomenovaný "*Buffer List*" nemá žiadny súbor. Je to buffer, ktorý obsahuje zoznam bufferov, vytvorený pomocou C-x C-b. Buffer nazvaný "*Messages*" tiež nezodpovedá súboru¨obsahuje správy, ktoré sa objavili na spodnom riadku počas vášho sedenia s Emacsom. >> Napíšte C-x b *Messages* a pozrite sa na buffer so správami. Potom napíšte C-x b TUTORIAL.sk na vrátenie sa do tohto návodu. Ak zmeníte text jedného súboru a potom vyhľadáte iný súbor, nespôsobí to uloženie prvého súboru. Jeho zmeny zostávajú v Emacse uchované v jemu zodpovedajúcom buffere. Vytvorenie a úprava druhého súboru nemá žiadny vplyv na buffer prvého súboru. To je veľmi užitočné, ale tiež to znamená, že potrebujete vhodný spôsob, ako uložiť buffer prvého súboru. Nutnosť prepnúť sa späť pomocou C-x C-f, aby ho bolo možné uložiť prostredníctvom C-x C-s, by bola nemiestne obťažujúca. Takže máme C-x s Uloženie niektorých bufferov C-x s sa Vás spýta na každý buffer, ktorý obsahuje zmeny, ktoré ste neuložili. Pre každý taký buffer sa Vás spýta, či ho má uložiť. >> Vložte riadok textu a potom stlačte C-x s. Emacs by sa Vás mal opýtať, či má byť uložený buffer nazvaný TUTORIAL.sk. Odpovedzte na túto otázku áno (yes) stlačením "y". * ROZŠIROVANIE SADY PRÍKAZOV ---------------------------- Existuje omnoho, omnoho viac príkazov Emacsu, ako tie, ktoré by vôbec mohli byť rozmiestnené na všetky control a meta znaky. Emacs tento problém obchádza prostredníctvom X (eXtend) príkazu. Ten vzniká dvoma spôsobmi: C-x Znakový eXtend. Nasledovaný jedným znakom. M-x Pomenovaný príkaz eXtend. Nasledovaný dlhým názvom. To sú príkazy, ktoré sú všeobecne užitočné, ale menej často používané ako tie, ktoré ste sa už naučili. Už ste videli dva z nich: súborové príkazy C-x C-f pre vyhľadanie a C-x C-s pre uloženie. Iný príklad je príkaz pre ukončenie Emacsu -- tj. príkaz C-x C-c. (Nemajte obavy o stratu zmien, ktoré ste spravili; C-x C-c ponúkne uloženie každého zmeneného súboru pred tým, než sa Emacs skončí.) C-z je príkaz na *dočasné* opustenie Emacsu -- môžete sa po ňom do spusteného Emacsu vrátiť. Na systémoch, ktoré to umožňujú, C-z Emacs "pozastaví"; tzn. vráti Vás do shellu, ale Emacs neskončí. V najbežnejších shelloch sa môžete do Emacsu vrátiť príkazom `fg' alebo pomocou `%emacs'. Na systémoch, ktoré pozastavovanie procesov nemajú implementované, C-z vytvorí subshell bežiaci pod Emacsom, aby Vám dal šancu spustiť iné programy a potom sa do Emacsu vrátiť; nevykoná teda pravé opustenie Emacsu. V tom prípade je obvyklou cestou návratu zo subshellu do Emacsu shellový príkaz `exit'. Chvíľa pre použitie C-x C-c nastane vtedy, keď sa chystáte odhlásiť sa zo systému. Správne je to tiež pri ukončovaní Emacsu vyvolaného poštovým programom a rôznymi inými utilitami, pretože tie nemusia vedieť, ako si poradiť s pozastavením Emacsu. Napriek tomu za normálnych okolností, pokiaľ sa nechystáte odhlásiť, je lepšie Emacs pozastaviť pomocou C-z ako ho ukončiť. Existuje mnoho C-x príkazov. Tu je zoznam tých, ktoré ste sa už naučili: C-x C-f Vyhľadanie súboru C-x C-s Uloženie súboru C-x C-b Zoznam bufferov C-x C-c Ukončenie Emacsu C-x 1 Zrušenie všetkých okien okrem jedného C-x u Undo Pomenované eXtended príkazy sú príkazy, ktoré sú používané ešte menej, alebo príkazy, ktoré sú používané iba v istých módoch. Príkladom je príkaz replace-string, ktorý globálne nahradí jeden reťazec iným. Keď stlačíte M-x, vypíše sa na spodnom riadku obrazovky prompt M-x a vy by ste mali zadať meno príkazu; v tomto prípade "replace-string". Jednoducho napíšte "repl s" a Emacs názov doplní. ( je klávesa Tab, bežne sa nachádza nad klávesou CapsLock alebo Shift na ľavom okraji klávesnice.) Skončite zadávanie mena príkazu pomocou . Príkaz replace-string vyžaduje dva argumenty -- reťazec, ktorý má byť nahradený, a reťazec, ktorý ho má nahradiť. Každý argument musíte ukončiť pomocou . >> Presuňte kurzor na prázdny riadok dva riadky pod týmto. Potom napíšte M-x repl szmenilmodifikoval. Všimnite si, ako sa tento riadok zmenil: nahradili ste slovo z-m-e-n-i-l slovom "modifikoval", kdekoľvek sa za aktuálnou pozíciou kurzoru vyskytlo. * AUTOMATICKÉ UKLADANIE ----------------------- Ak ste spravili zmeny v súbore, ale nemáte ich ešte uložené, môžu byť v prípade páde systému stratené. Aby vás Emacs pred tým ochránil, periodicky zapisuje "auto save" súbor pre každý súbor, ktorý editujete. Meno auto save súboru má na začiatku a na konci #; napríklad ak sa Váš soubor nazýva "hello.c", jeho auto save súbor sa nazýva "#hello.c#". Ak súbor uložíte normálnym spôsobom, Emacs auto save súbor zmaže. Ak nastane pád systému, môžete svoje úpravy obnoviť z auto-save súboru, a to normálnym vyhľadaním súboru (toho, ktorý ste editovali, nie auto save súboru) a následným spustením M-x recover-file. Na žiadosť o potvrdenie odpovedzte zadaním yes pre pokračovanie a obnovenie auto-save dát. * ECHO OBLASŤ ------------- Keď Emacs vidí, že píšete príkazy pomaly, ukazuje Vám ich v spodnej časti obrazovky v oblasti nazývanej "echo oblasť". Echo oblasť obsahuje dolný riadok obrazovky. * STAVOVÝ RIADOK ---------------- Riadok bezprostredne nad echo oblasťou sa nazýva "stavový riadok" ("mode line"). Stavový riadok vraví niečo ako: --:** TUTORIAL.sk (Fundamental)--L670--58%---------------- Tento riadok podáva užitočnú informáciu o stave Emacsu a texte, ktorý editujete. Už viete, čo znamená meno súboru -- je to súbor, ktorý ste vyhľadali. -NN%-- označuje Vašu aktuálnu pozíciu v texte; vraví, že NN percent textu je nad horným okrajom obrazovky. Ak je začiatok súboru na obrazovke, je tu --Top-- a nie --00%--. Ak je koniec textu na obrazovke, je tu --Bot--. Ak sa dívate na tak malý text, že sa celý vojde na obrazovku, stavový riadok vraví --All--. Písmeno L a číslice označujú pozíciu iným spôsobom, udávajú riadok, na ktorom sa nachádza kurzor. Hviezdičky blízko začiatku znamenajú, že ste text zmenili. Tesne po vyhľadaní alebo uložení súboru v tejto časti stavového riadku nie sú žiadne hviezdičky, iba pomlčky. Časť stavového riadku v zátvorkách vraví, v akých editačných módoch sa nachádzate. Implicitný mód je Fundamental, čo je ten, ktorý momentálne používate. Je príkladom hlavného módu ("major mode"). Emacs má celý rad hlavných módov. Niektoré z nich sú určené pre editovanie rôznych programovacích jazykov a/alebo textov ako napr. Lisp mód, Text mód, atď. V ľubovoľnom okamihu je aktívny práve jeden hlavný mód a jeho meno je možné nájsť v stavovom riadku na mieste, kde je teraz "Fundamental". Každý hlavný mód mení chovanie niektorých príkazov. Napríklad existujú príkazy pre vytváranie komentárov v programe, a pretože každý programovací jazyk má inú predstavu o tom, ako má komentár vyzerať, musí každý hlavný mód vkladať komentáre inak. Každý hlavný mód je vlastne meno extended príkazu, ktorým sa do tohoto módu môžete prepnúť. Napríklad M-x fundamental-mode je príkaz pre prepnutie sa do Fundamental módu. Ak sa chystát meniť normálny text, ako napríklad tento súbor, pravdepodobne by ste mali použiť Text mód. > Napíšte M-x text-mode . Nebojte sa, žiadny z príkazov, ktoré ste sa naučili, chovanie Emacsu nijako významne nezmení. Môžete si ale všimnúť, že M-f a M-b teraz pracujú s apostrofmi ako so súčasťou slova. Pred tým, vo Fundamental móde, M-f a M-b pracovali s apostrofmi ako oddeľovačmi slov. Hlavné módy obyčajne robia menšie zmeny, ako bola táto: príkazy väčšinou robia "to isté", ale v každom hlavnom móde pracujú trochu inak. Dokumentáciu k aktuálnemu hlavnému módu si môžete zobraziť stlačením C-h m. >> Raz alebo viac krát použite C-u C-v, aby ste tento riadok dostali na vrchol obrazovky. >> Stlačte C-h m, aby ste videli, ako sa Text mód líši od Fundamental módu. >> Stlačte C-x 1 pre odstránenie dokumentácie z obrazovky. Hlavné módy sa nazývajú hlavné preto, že tiež existujú vedľajšie módy (minor modes). Vedľajšie módy nie sú alternatívou k hlavným módom, ale ich malé modifikácie. Každý vedľajší mód môže byť zapnutý alebo vypnutý sám o sebe nezávisle na všetkých ostatných vedľajších módoch a nezávisle na hlavnom móde. Takže nemusíte používať žiadny vedľajší mód alebo môžete používať jeden vedľajší mód alebo ľubovoľnú kombináciu niekoľkých vedľajších módov. Jedným z veľmi užitočných vedľajších módov, hlavne pre úpravy slovenských textov, je Auto Fill mód. Keď je tento mód zapnutý, Emacs zalomí riadok medzi dvoma slovami, kedykoľvek vkladáte text a riadok sa stane príliš dlhým. Auto Fill mód môžete zapnúť vykonaním M-x auto-fill-mode. Ak je tento mód zapnutý, môžete ho vypnúť vykonaním M-x auto-fill-mode. Ak je mód vypnutý, tento príkaz ho zapína, a ak je mód zapnutý, tak ho tento príkaz vypína. Vravíme, že tento príkaz prepína ("toggles") tento mód. >> Napíšte teďa M-x auto-fill-mode. Potom vkladajte "asdf " stále dookola tak dlho, pokiaľ neuvidíte, ako sa vkladaný riadok rozdelí na dva riadky. Do textu musíte vkladať medzery preto, že Auto Fill mód zalamuje riadky iba v medzerách. Okraj je obvykle nastavený na 70 znakov, ale môžete to zmeniť príkazom C-x f. Hodnotu okraju, ktorú si prajete, by ste mali predať ako numerický argument. >> Napíšte C-x f s argumentom 20. (C-u 2 0 C-x f). Potom napíšte nejaký text a pozorujte, ako Emacs vypĺňa riadky po 20. znakoch. Potom nastavte okraj späť na 70 opätovným použitím C-x f. Ak spravíte zmeny uprostred odstavca, Auto Fill mód ho nepreformátuje. Pre preformátovanie odstavca stlačte M-q (Meta-q) s kurzorom vnútri odstavca. >> Presuňte kurzor do predchádzajúceho odstavcu a stlačte M-q. * VYHĽADÁVANIE -------------- Emacs vie v texte vyhľadávať reťazce (tj. skupiny spojených znakov alebo slov) smerom vpred alebo vzad. Hľadanie reťazca je príkaz presúvajúci kurzor; presunie kurzor na najbližšie miesto, kde sa tento reťazec nachádza. Vyhľadávací príkaz Emacsu sa líši od vyhľadávacích príkazov väčšiny editorov v tom zmysle, že je "inkrementálny". To znamená, že vyhľadávanie sa robí už v okamžiku, keď zadávate hľadaný reťazec. Príkaz pre hľadanie vpred je C-s a pre hľadanie vzad C-r. POZOR! Ešte to neskúšajte. Keď stlačíte C-s, uvidíte v echo oblasti prompt "I-search". To Vám vraví, že Emacs sa nacháza v stave, ktorý sa nazýva inkrementálne hľadanie, a čaká, kým mu zadáte, čo chcete hľadať. hľadanie ukončí. >> Teraz začnite hľadanie stlačením C-s. POMALY, písmeno po písmene, píšte slovo 'kurzor'. Po každom písmene si všimnite, čo sa deje s kurzorom. Teraz ste vyhľadali "kurzor" prvý krát. >> Stlačte C-s znova, aby ste našli ďalší výskyt slova "kurzor". >> Teraz štyri krát stlačte a pozerajte, ako sa kurzor presúva. >> Stlačte pre ukončenie hľadania. Videli ste, čo sa stalo? Emacs sa v inkrementálnom hľadaní pokúša prejsť na ďalší výskyt reťazca, ktorý ste dosiaľ napísali. Ak chcete prejsť na ďalší výskyt 'kurzor', jednoducho stlačte C-s zas. Ak už žiadny taký výskyt nie je, Emacs pípne a povie Vám, že hľadanie momentálne "zlyháva", C-g hľadanie ukončí. POZNÁMKA: Na niektorých systémoch stlačenie C-s spôsobí zatuhnutie obrazovky a neuvidíte žiadny ďalší výstup z Emacsu. To znamená, že "vlastnosť" operačného systému nazvaná "flow control" zachytáva C-s a nepustí ho k Emacsu. Pre odtuhnutie obrazovky stlačte C-q. Potom vyhľadajte v sekcii "Spontaneous Entry to Incremental Search" v manuále Emacsu radu, ako obísť túto "vlastnosť". Ak uprostred inkrementálneho hľadania stlačíte , uvidíte, že posledný znak v hľadanom reťazci zmizne a hľadanie sa vracia na posledné miesto hľadania. Predpokladajme napríklad, že ste napísali "c", aby ste našli prvý výskyt "k". Ak teraz stlačíte "u", kurzor sa presunie na prvý výskyt "ku". Teraz stlačte . To vymaže "u" z hľadaného reťazca a kurzor sa presunie späť na prvý výskyt "k". Ak uprostred hľadania stlačíte control alebo meta znak (s niekoľkými výnimkami -- znaky, ktoré sú špeciálne v hľadaní, ako C-s a C-r), hľadanie bude ukončené. C-s začína hľadanie, ktoré hľadá akýkoľvek výskyt hľadaného reťazca ZA aktuálnu pozíciu kurzoru. Ak chcete niečo hľadať v predchádzajúcom texte, stlačte namiesto C-s C-r. Všetko, čo sme povedali o C-s, platí tiež o C-r okrem toho, že smer hľadania je opačný. * VIAC OKIEN ------------ Jednou z pekných vlastností Emacsu je to, že môže na obrazovke zobraziť viac okien súčasne. >> Presuňte kurzor na tento riadok a stlačte C-u 0 C-l (to je CONTROL-L, nie CONTROL-1). >> Ak stlačíte C-x 2, obrazovka sa rozdelí na dve okná. Obidve okná zobrazujú tento tútorial. Kurzor zostáva na vrchu okna. >> Stlačte C-M-v pre rolovanie spodného okna. (Ak nemáte skutočnú klávesu Meta, stlačte ESC C-v.) >> Stlačte C-x o ("o" ako "other") pre presun kurzoru do dolného okna. >> Použite C-v a M-v v spodnom okne pre jeho rolovanie. Pokračujte v čítaní týchto inštrukcií v hornom okne. >> Znovu stlačte C-x o pre presun kurzoru späť do horného okna. Kurzor v hornom okne je presne na mieste, kde bol pôvodne. Môžete ďalej používať C-x o pre prepínanie medzi oknami. Každé okno má svoju vlastnú pozíciu kurzoru, ale kurzor zobrazuje iba jedno okno. Všetky obvyklé editačné príkazy platia pre okno, v ktorom sa nachádza kurzor. Toto okno nazývame "aktívne okno" ("selected window"). Príkaz C-M-v je veľmi užitočný, ak v jednom okne editujete text a druhé okno používate iba pre prehľad. Môžete nechávať kurzor stále v okne, kde editujete, a postupovať po druhom okne pomocou C-M-v. C-M-v je príkladom CONTROL-META znaku. Ak máte skutočnú META klávesu, môžete vyvolať C-M-v pridržaním oboch kláves CTRL a META pri stlačení v. Nezáleží na tom, či stlačíte ako prvú klávesu CTRL alebo META, pretože obe tieto klávesy fungujú ako modifikátory kláves, ktoré stlačíte. Ak nemáte skutočnú META klávesu, môžete namiesto nej použiť ESC, na poradí záleží: musíte stlačiť ESC a potom CTRL-v; CTRL-ESC v by nefungovalo. To preto, lebo ESC je samostatný znak, a nie modifikátor. >> Stlačte C-x 1 (v hornom okne), aby ste sa zbavili dolného okna. (Ak by ste C-x 1 stlačili v dolnom okne, odstránilo by to horné okno. Chápte tento príkaz ako "ponechaj akurát jedno okno -- to, v ktorom akurát som".) Nemusíte v oboch oknách zobrazovať ten istý buffer. Ak použijete C-x C-f pre vyhľadanie súboru v jednom z okien, druhé okno sa nezmení. Môžete vyhľadávať súbory v oboch oknách nezávisle. Tu je ďalší spôsob, ako využiť dve okná na zobrazenie dvoch rôznych vecí: >> Stlačte C-x 4 C-f nasledované menom niektorého z Vašich súborov. Dokončite to pomocou . Vidíte zadaný súbor v dolnom okne. Presunul sa tam aj kurzor. >> Stlačte C-x o pre presun späť do horného okna a C-x 1 pre zmazanie dolného okna. * REKURZÍVNE EDITAČNÉ ÚROVNE ---------------------------- Občas sa dostanete do niečoho, čo sa nazýva "rekurzívna editačná úroveň" ("recursive editing level"). To je indikované hranatými zátvorkami v stavovom riadku obklopujúcemu zátvorky okolo mena hlavného módu. Napríklad môžete vidieť [(Fundamental)] namiesto (Fundamental). Aby ste sa dostali z rekurzívnej editačnej úrovne, stlačte ESC ESC ESC. To je všeobecný "vyskakovací" príkaz. Môžete ho použiť tiež pre odstránenie niektorých okien a vyskočenie z minibuffera. >> Stlačte M-x, aby ste sa dostali do minibuffera; potom stlačte ESC ESC ESC, aby ste sa z neho dostali von. Z rekurzívnej editačnej úrovne nemôžete vyskočiť pomocou C-g. To preto, že C-g je využívané pre rušenie príkazov a argumentov VO VNÚTRI rekurzívnej editačnej vrstvy. * ZÍSKANIE ĎALŠEJ NÁPOVEDY -------------------------- V tomto tútoriale sme sa pokúsili Vám poskytnúť dostatok informácií, aby ste mohli začať Emacs používať. V Emacse je toho toľko, že by bolo nemožné to všetko objasniť v tomto návode. V každom prípade sa o Emacse môžete naučiť viac, pretože má veľa užitočných vlastností. Emacs ponúka príkazy pre čítanie dokumentácie svojich príkazov. Všetky tieto "help" príkazy začínajú znakom Control-h, ktorý sa nazýva "help znak". Pre použitie vlastností nápovedy stlačte znak C-h a potom znak hovoriaci, aký druh nápovedy si žiadate. Ak ste NAOZAJ stratení, stlačte C-h ? a Emacs Vám povie, aké druhy nápovedy Vám môže poskytnúť. Ak ste stlačili C-h a potom ste sa rozhodli, že žiadnu nápovedu nechcete, jednoducho ju zrušte stlačením C-g. (Na niektorých počítačoch je význam znaku C-h zmenený. To by naozaj nemalo byť všeobecným nastavením pre všetkých používateľov, takže máte právo posťažovať sa systémovému administrátorovi. Do tej doby, ak C-h nezobrazuje hlásenie o nápovede v dolnej časti obrazovky, skúste namiesto toho používať klávesu F1 alebo M-x help RET.) Najzákladnejší príkaz nápovedy je C-h c. Stlačte C-h, znak c a klávesový príkaz; Emacs potom zobrazí veľmi stručný popis príkazu. >> Stlačte C-h c C-p. Hlásenie by malo vyzerať asi takto C-p runs the command previous-line To vám oznamuje "meno funkcie". Mená funkcií sú používané hlavne pre konfiguráciu a rozširovanie Emacsu. Ale pretože mená funkcií sú volené tak, aby naznačovali, čo zodpovedajúci príkaz robí, môžu slúžiť tiež ako veľmi stručná dokumentácia -- dostatočná na to, aby Vám pripomenula príkazy, ktoré ste sa už naučili. Viacznakové príkazy ako C-x C-s a (ak nemáte META, EDIT ani ALT klávesu) v sú pre C-h c povolené tiež. Na získanie viac informácií o príkaze použite namiesto C-h c C-h k. >> Stlačte C-h k C-p. To zobrazí dokumentáciu k funkcii a jej meno v emacsovom okne. Ak výstup prečítate, stlačte C-x 1, aby ste sa textu nápovedy zbavili. Nemusíte to robiť hneď. Môžete chvíľu editovať a nazerať do textu nápovedy a až potom stlačiť C-x 1. Tu sú ďalšie užitočné voľby C-h: C-h f Popis funkcie. Zadáváte meno funkcie. >> Skúste napísať C-h f previous-line. To vypíše všetky informácie, ktoré Emacs má o funkcii implementujúcej príkaz C-p. Podobný príkaz C-h v zobrazí dokumentáciu premennej, ktorej hodnotu môžete nastaviť pre ovplyvnenie chovania Emacsu. Meno premennej musíte zadať, až keď sa naň Emacs spýta. C-h a Príkazové apropos. Zadajte kľúčové slovo a Emacs vypíše všetky príkazy, ktorých meno obsahuje toto kľúčové slovo. Všetky tieto príkazy môžu byť vyvolané pomocou Meta-x. Pre niektoré príkazy príkazové apropos vypíše tiež jedno alebo dvojznakové sekvencie, ktoré vykonávajú ten istý príkaz. >> Napíšte C-h a file. To zobrazí v druhom okne zoznam všetkých M-x príkazov obsahujúcich "file" vo svojom názve. Znakové príkazy ako C-x C-f uvidíte vypísané vedľa zodpovedajúcich mien príkazov ako find-file. >> Stlačte C-M-v pre posun okna s nápovedou. Urobte to viac krát. >> Stlačte C-x 1 pre zmazanie okna s nápovedou. C-h i Čítanie on-line manuálov (tiež Info). Tento príkaz Vás prepne do špeciálneho buffera s názvom `*info*', v ktorom môžete čítať on-line manuály pre balíky inštalované na vašom systéme. Ak stlačíte m emacs , môžete si napríklad prečítať manuál k Emacsu. Ak ste doteraz nikdy nepoužívali Info, stlačte ? a Emacs vám predstaví hlavné možnosti módu pre Info. Ak toto predstavenie absolvujete, mali by ste používať Info manuál Emacsu ako svoju primárnu dokumentáciu. * VIAC VLASTNOSTÍ ----------------- Na to, aby ste sa naučili viac o Emacse, prečítajte si jeho manuál, buď ako knihu alebo on-line vo formáte Info (použite Help menu alebo stlačte F10 h r). Dve vlastnosti, ktoré sa vám môžu páčiť, je dopĺňanie, ktoré šetrí písanie a dired, ktorý zjednodušuje prácu so súbormi. Dopĺňanie je na vyvarovanie sa zbytočného písania. Napríklad, keď sa chcete dostať do bufferu *Messages*, môžete napísať C-x b *M a Emacs doplní zvyšok mena bufferu, až potiaľ, pokiaľ ho dokáže zistiť z toho, čo ste už napísali. Dopĺňanie je popísané v Info verzii manuálu Emacsu, v kapitole nazvanej "Completion". Dired vám dovoľuje zobraziť zoznam súborov v adresári (a voliteľne jeho podadresároch), presúvať, upravovať, premenovávať, mazať a ináč manipulovať so súbormi. Dired je popísané v Info verzii manuálu Emacsu, v kapitole nazvanej "Dired". Manuál tiež popisuje veľa iných vlastností Emacsu. * ZÁVER ------- Nezabudnite, Emacs ukončíte vykonaním príkazu C-x C-c. Pre dočasný odskok do shellu, z ktorého sa do Emacsu môžete opäť vrátiť, použite C-z. Zámerom tohto tútorialu je byť zrozumiteľný všetkým novým používateľom, takže ak narazíte na niečo nejasného, tak nezúfajte a nedávajte to za vinu sebe -- sťažujte sa! KOPÍROVANIE ----------- Tento tútorial vychádza z dlhej rady emacsových tútorialov začatej tútorialom napísaným Stuartom Cracraftom pre pôvodný Emacs. Táto verzia tútorialu je, podobne ako GNU Emacs, chránená copyrightom a je šírená s povolením distribuovať kópie za istých podmienok: Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. Každému je zaručené právo vytvárať a distribuovať presné kópie tohto dokumentu tak, ako ho dostal, na akomkoľvek médiu, s tým, že bude zachovaná táto poznámka o autorstve a poznámka o povolení, a že distribútor zaručuje príjemcovi právo na ďalšiu redistribúciu povolenú touto poznámkou. Je zaručené právo distribuovať modifikované verzie tohto dokumentu alebo jeho častí pod hore uvedenými podmienkami za predpokladu, že obsahuje jasné poznámky uvádzajúce, kto urobil posledné úpravy. Podmienky pre kopírovanie Emacsu samotného sú zložitejšie, ale v rovnakom duchu. Prečítajte si, prosím, súbor COPYING a potom dajte kópie GNU Emacsu svojim priateľom. Pomáhajte potlačovať softwarovú obštrukciu ("vlastníctvo") používaním, písaním a zdieľaním free softwaru! ;;; Local Variables: ;;; coding: iso-latin-2 ;;; End: ;;; arch-tag: 87861cfa-5cf6-4b87-9fab-86c93c5ca9f3