1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-15 09:47:20 +00:00
emacs/etc/TUTORIAL.cs
Dave Love a933dad155 #
1999-10-03 12:39:42 +00:00

1014 lines
41 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Copyright (c) 1985 Free Software Foundation, Inc; podmínky viz na konci.
Do češtiny přeložil Milan Zamazal <pdm@freesoft.cz>.
Máte před sebou tutoriál k Emacsu.
Příkazy Emacsu obecně využívají klávesu CONTROL (občas označovanou CTRL nebo
CTL) nebo klávesu META (občas označovanou EDIT nebo ALT). Abychom tyto názvy
nemuseli stále psát v plném znění, budeme používat následující zkratky:
C-<chr> znamená přidržet klávesu CONTROL a stisknout znak <chr>.
Tedy C-f znamená: přidržte klávesu CONTROL a stiskněte f.
M-<chr> znamená přidržet klávesu META, EDIT nebo ALT a stisknout <chr>.
Pokud žádnou z kláves META, EDIT ani ALT nemáte, tak místo toho
stiskněte a pusťte klávesu ESC a poté <chr>. Klávesu ESC budeme
značit <ESC>.
Důležitá poznámka: práci s Emacsem ukončíte stiskem C-x C-c (dva znaky).
Znaky ">>" na levém okraji značí místa, kde si máte vyzkoušet příkaz.
Například:
<<Blank lines inserted here by startup of help-with-tutorial>>
>> Nyní stiskněte C-v (view next screen) pro posun na další obrazovku.
(Směle do toho, proveďte to přidržením klávesy control a stiskem v.)
Od této chvíle byste toto měli provádět kdykoliv dočtete zobrazenou
obrazovku.
Všimněte si, že při posuvu obrazovek vždy zůstávají zobrazeny dva řádky
z předchozí obrazovky; to poskytuje určitou návaznost při postupném
čtení textu.
První věc, kterou potřebujete vědět, je jak se v textu pohybovat
z jednoho místa na druhé. víte, jak se posunout o jednu obrazovku
vpřed, pomocí C-v. K přechodu o obrazovku zpět použijte M-v
(přidržte klávesu META a stiskněte v nebo stiskněte <ESC>v, jestliže
nemáte žádnou z kláves META, EDIT nebo ALT).
>> Zkuste stisknout M-v a pak C-v, několikrát to zopakujte.
* SHRNUTÍ
---------
K prohlížení obrazovkových stránek jsou užitečné následující příkazy:
C-v Posun o obrazovku vpřed
M-v Posun o obrazovku zpět
C-l Smazání obrazovky a znovuzobrazení celého textu,
přitom se text pod kurzorem přesune ke středu obrazovky.
(Jedná se o control-L a ne control-1.)
>> Najděte kurzor a zapamatujte si, jaký text je kolem něj.
Pak stiskněte C-l.
Najděte kurzor znovu a všimněte si, že je kolem něj tentýž text.
* ZÁKLADNÍ OVLÁDÁNÍ KURZORU
---------------------------
Pohyb mezi obrazovkami je užitečný, ale jak se přemístíte na konkrétní
místo v textu na obrazovce?
Je toho možno dosáhnout několika způsoby. Nejzákladnějším způsobem je
použití příkazů C-p, C-b, C-f a C-n. Každý z těchto příkazů přesune
kurzor na obrazovce o jeden řádek nebo sloupec v daném směru.
Zde je tabulka znázorňující směr posuvu kurzoru vyvolaný těmito čtyřmi
příkazy:
Předchozí řádek, C-p
:
:
Dozadu, C-b .... Momentální pozice kurzoru .... Dopředu, C-f
:
:
Následující řádek, C-n
>> Přesuňte kurzor na prostřední řádek tohoto diagramu pomocí
C-n nebo C-p. Potom stiskněte C-l, abyste na obrazovce viděli celý
diagram vycentrován.
Pravděpodobně se vám budou tyto příkazy snadno pamatovat podle
počátečních písmen anglických názvů: P jako previous (předchozí),
N jako next (následující), B jako backward (zpět), F jako forward (vpřed).
Jsou to základní příkazy pro pohyb kurzoru a budete je používat
neustále, takže by bylo velmi vhodné, kdybyste se je teď naučili.
>> Proveďte několikrát C-n, abyste kurzor přesunuli na tento řádek.
>> Posuňte kurzor dovnitř řádku pomocí několika C-f a pak nahoru stiskem C-p.
Pozorujte, co C-p dělá, když je kurzor uprostřed řádku.
Každý řádek textu končí znakem nového řádku, který jej odděluje od řádku
následujícího. Znakem nového řádku by měl být ukončen i poslední řádek
souboru (přestože to Emacs nevyžaduje).
>> Vyzkoušejte C-b na začátku řádku. Kurzor by se měl přesunout na konec
předchozího řádku, neboť jej tím přesunete přes znak nového řádku.
C-f funguje analogicky jako C-b, tj. na konci řádku dojde k přesunu na
další řádek.
>> Proveďte několik C-b, takže uvidíte, kde se nachází kurzor.
Pak provádějte C-f, abyste se vrátili na konec řádku.
Pak proveďte ještě jednou C-f, abyste se přesunuli na následující
řádek.
Když kurzorem přejdete přes horní nebo dolní okraj obrazovky, posune se
text za příslušným okrajem na obrazovku. Tato vlastnost se nazývá
"scrollování". Umožňuje přemístit kurzor na libovolné místo v textu,
aniž by kurzor opustil obrazovku.
>> Zkuste posunout kurzor pod dolní okraj obrazovky pomocí C-n a pozorujte,
co se stane.
Jestliže je posun po znacích příliš pomalý, můžete se pohybovat po
slovech. M-f (Meta-f) provádí posun o slovo vpřed a M-b provádí posun
o slovo zpět.
>> Stiskněte několikrát M-f a M-b.
Pokud se kurzor nachází uprostřed slova, M-f provede přesun na konec
tohoto slova. Nachází-li se kurzor v mezeře mezi slovy, M-f provede
přesun na konec následujícího slova. M-b pracuje analogicky v opačném
směru.
>> Stiskněte několikrát M-f a M-b proloženě s C-f a C-b, abyste viděli
výsledky příkazů M-f a M-b prováděných z různých míst uvnitř slov a
mezi nimi.
Všimněte si analogie mezi C-f a C-b na jedné straně a M-f a M-b na
straně druhé. Meta znaky jsou velmi často využívány pro operace
vztahující se k entitám definovaným jazykem (slova, věty, odstavce),
zatímco Control znaky pracují na základních prvcích nezávislých na tom,
co zrovna editujete (znaky, řádky, apod.).
Tato analogie platí také pro řádky a věty: C-a a C-e provádí přesun
na začátek a konec řádku, M-a a M-e provádí přesun na začátek a konec
věty.
>> Zkuste několikrát C-a a poté několikrát C-e.
Zkuste několikrát M-a a poté několikrát M-e.
Všimněte si, že opakované C-a nedělá nic, zatímco opakované M-a vždy
provádí posun o další větu. Principu analogie to sice příliš
neodpovídá, ale přesto je toto chování možno považovat za přirozené.
Pozice kurzoru v textu se také nazývá "bod" ("point"). Abychom to
parafrázovali, kurzor je vidět na obrazovce v místě, kde je bod umístěn
v textu.
Zde je přehled jednoduchých operací pro pohyb kurzoru včetně příkazů pro
pohyb mezi slovy a větami:
C-f Přesun o znak vpřed
C-b Přesun o znak zpět
M-f Přesun o slovo vpřed
M-b Přesun o slovo zpět
C-n Přesun na následující řádek
C-p Přesun na předchozí řádek
C-a Přesun na začátek řádku
C-e Přesun na konec řádku
M-a Přesun zpět na začátek věty
M-e Přesun vpřed na konec věty
>> Vyzkoušejte si teď několikrát všechny tyto příkazy pro procvičení.
Jsou to nejpoužívanější příkazy.
Další dva důležité příkazy pro pohyb kurzoru jsou M-< (Meta menší-než),
který provede přesun na začátek celého textu, a M-> (Meta větší-než),
který provede přesun na konec celého textu.
Na většině terminálů je "<" nad čárkou, takže pro vyvolání tohoto znaku
musíte použít klávesu Shift. Na těchto terminálech je tedy nutno použít
klávesu Shift i v případě příkazu M-<; bez klávesy Shift byste provedli
M-čárka.
>> Zkuste teď M-< pro přesun na začátek tutoriálu.
Použijte pak opakovaně C-v, abyste se opět vrátili sem.
>> Zkuste teď M-> pro přesun na konec tutoriálu.
Použijte pak opakovaně M-v, abyste se opět vrátili sem.
Kurzor můžete přesouvat také pomocí kurzorových kláves (klávesy
se šipkami), pokud je váš terminál . My však doporučujeme naučit se
C-b, C-f, C-n a C-p, a to ze tří důvodů. Za prvé, tyto klávesy fungují
na všech typech terminálů. Za druhé, jakmile jednou získáte cvik
v používání Emacsu, zjistíte, že používání těchto CTRL znaků je
rychlejší než používání kurzorových kláves (protože nemusíte přesouvat
ruku z psací pozice). Za třetí, zvyknete-li si používat tyto CTRL-znak
příkazy, snadno se naučíte používat jiné pokročilé příkazy pro pohyb
kurzoru.
Většina příkazů Emacsu akceptuje numerický argument; ten pro většinu
příkazů slouží jako opakovač. Počet opakování příkazu zadáte
prostřednictvím stisku C-u následovaného stiskem příslušných číslic před
vyvoláním příkazu. Máte-li META (nebo EDIT či ALT) klávesu, existuje
alternativní možnost zadání numerického argumentu: přidržte klávesu META
a stiskněte příslušné číslice. Doporučujeme naučit se C-u metodu,
protože ta funguje na jakémkoliv terminálu.
Například C-u 8 C-f provede přesun o osm znaků vpřed.
Většina příkazů používá numerický argument jako opakovač. Jisté
výjimečné příkazy jej používají jiným způsobem. Mezi tyto výjimky patří
C-v a M-v. Dostanou-li numerický argument, posunou obrazovku nahoru
nebo dolů o odpovídající počet řádků místo obrazovek. Například
C-u 4 C-v posune obrazovku o 4 řádky.
>> Zkuste teď stisknout C-u 8 C-v.
To by mělo posunout obrazovku o 8 řádků nahoru. Pokud byste ji chtěli
posunout zpět dolů, můžete dát argument příkazu M-v.
Používáte-li X Windows, měli byste mít na levé straně emacsovského okna
vysokou obdélníkovou oblast, nazývanou scrollbar. Můžete pak text
posouvat klikáním myší na scrollbar.
>> Zkuste stisknout prostřední tlačítko na vrcholu zvýrazněné oblasti
uvnitř scrollbaru. To by mělo text posunout na pozici danou tím, jak
vysoko nebo nízko jste kliknuli.
>> Zkuste při stisknutém prostředním tlačítku posouvat myší nahoru a
dolů. Uvidíte, jak se text posouvá nahoru a dolů podle toho, jak
posouváte myší.
* KDYŽ EMACS NEREAGUJE
----------------------
Jestliže Emacs přestane reagovat na vaše příkazy, můžete probíhající
činnost bezpečně zastavit pomocí C-g. Pomocí C-g můžete zastavit
příkaz, jehož provádění trvá příliš dlouho.
C-g můžete použít také pro odstranění numerického argumentu příkazu,
který nechcete dokončit.
>> Stiskněte C-u 100 pro vytvoření numerického argumentu 100 a pak
stiskněte C-g. Nyní stiskněte C-f. Měl by být proveden posun
o právě jeden znak, protože jste argument zrušili prostřednictvím
C-g.
Pokud jste omylem stiskli <ESC>, můžete se jej zbavit pomocí C-g.
* DEAKTIVOVANÉ PŘÍKAZY
----------------------
Některé příkazy Emacsu jsou "deaktivované" ("disabled"), aby je
začínající uživatelé nemohli vyvolat náhodně.
Pokud vyvoláte některý z deaktivovaných příkazů, Emacs zobrazí hlášení
oznamující, který příkaz to byl, s dotazem, zda chcete tento příkaz
provést.
Pokud opravdu chcete příkaz vyzkoušet, stiskněte mezerník jako odpověď
na tuto otázku. Obyčejně, jestliže nechcete deaktivovaný příkaz
provést, odpovězte na tuto otázku pomocí "n".
>> Stiskněte <ESC> : (což je deaktivovaný příkaz),
pak na otázku odpovězte n.
* OKNA
------
Emacs může mít několik oken (windows), z nichž každé zobrazuje svůj
vlastní text. Jak více oken používat, objasníme později. Nyní chceme
objasnit, jak se zbavit nadbytečných oken a vrátit se do základní
jednookenní editace. Je to jednoduché:
C-x 1 Jedno okno (tj. zrušení všech ostatních oken)
Tedy vložení Control-x následované číslicí 1. C-x 1 rozšíří okno
obsahující kurzor přes celou obrazovku. Zruší to všechna ostatní okna.
>> Stiskněte Control-h k Control-f.
Pozorujte, jak se aktuální okno zmenší a objeví se nové okno za
účelem zobrazení dokumentace k příkazu Control-f.
>> Stiskněte C-x 1 a pozorujte, jak okno s dokumentací zmizí.
* VKLÁDÁNÍ A MAZÁNÍ
-------------------
Chcete-li vložit text, prostě jej napište. Znaky, které vidíte,
jako A, 7, *, atd., jsou Emacsem chápány jako text a vkládány okamžitě.
Pro vložení znaku nového řádku stiskněte <Return> (klávesu Enter).
Poslední znak, který jste napsali, můžete smazat stiskem <Delete>.
<Delete> je klávesa, která může být na klávesnici označena "Del".
V některých případech jako <Delete> slouží klávesa "Backspace", avšak ne
vždy!
Obecněji, <Delete> maže znak bezprostředně před momentální pozicí
kurzoru.
>> Proveďte to teď -- napište několik znaků a pak je smažte několika
stisky <Delete>. Nebojte se změn v tomto souboru; originální
tutoriál se nezmění. Toto je vaše osobní kopie.
Když se řádek textu zvětší natolik, že přesáhne jeden řádek obrazovky,
je zobrazen na více řádcích obrazovky. Řádek textu, který pokračuje na
dalším řádku obrazovky, je indikován zpětným lomítkem ("\") na pravém
okraji obrazovky.
>> Vkládejte text, dosáhnete pravého okraje, a pokračujte ve vkládání.
Objeví se vám pokračovací řádek.
>> Použijte <Delete> pro smazání textu, se řádek textu opět vejde na
jeden řádek obrazovky. Pokračovací řádek zmizí.
Znak nového řádku můžete smazat jako kterýkoliv jiný znak. Smazání
znaku nového řádku mezi dvěma řádky způsobí jejich spojení do jediného
řádku. Je-li výsledný řádek příliš dlouhý na to, aby se vešel na šířku
obrazovky, bude zobrazen pokračovacím řádkem.
>> Přesuňte kurzor na začátek řádku a stiskněte <Delete>. To tento
řádek spojí s řádkem předchozím.
>> Stiskněte <Return> pro znovuvložení smazaného znaku nového řádku.
Vzpomeňte si, že většina příkazů Emacsu může dostat počet opakování;
včetně textových znaků. Opakování textových znaků je vloží několikrát.
>> Vyzkoušejte si to teď -- stiskněte C-u 8 * pro vložení ********.
Teď znáte nejzákladnější způsoby, jak něco v Emacsu napsat a jak
opravovat chyby. Můžete ovšem také mazat po slovech nebo po řádcích.
Zde je shrnutí operací pro mazání textu:
<Delete> Smazání znaku bezprostředně před kurzorem
C-d Smazání znaku následujícího za kurzorem
M-<Delete> Zrušení slova bezprostředně před kurzorem
M-d Zrušení slova následujícího za kurzorem
C-k Zrušení textu od pozice kurzoru do konce řádku
M-k Zrušení textu do konce aktuální věty
Všimněte si, že <Delete> a C-d, resp. M-<Delete> a M-d, rozšiřují
paralelu započatou C-f a M-f (pravda, <Delete> opravdu není control
znak, ale netrapme se tím). C-k a M-k jsou jako C-e a M-e ve smyslu
vztahu řádků k větám.
Když smažete více znaků najednou, Emacs smazaný text uloží, abyste jej
mohli opět vrátit. Vracení zrušeného ("killed") textu se nazývá
vhazování ("yanking").
Zrušený text můžete vhodit na totéž místo, kde byl zrušen, nebo na
jiné místo v textu. Text můžete vhodit několikrát za sebou,
potřebujete-li vyrobit několik jeho kopií. Vhazovací příkaz je C-y.
Uvědomte si, že rozdíl mezi "rušením" ("killing") a "mazáním"
("deleting") je ten, že "zrušené" věci mohou být zpět vhozeny, zatímco
"smazané" nikoliv. Obecně příkazy, které mohou smazat větší množství
textu, ukládají text, zatímco příkazy, které mažou jediný znak nebo
pouze prázdné řádky a mezery, mazaný text neukládají.
>> Přesuňte kurzor na začátek neprázdného řádku.
Pak stiskněte C-k pro zrušení textu na tomto řádku.
>> Stiskněte C-k podruhé. Uvidíte, že to zruší znak nového řádku, který
je za tímto řádkem.
Všimněte si, že jedno C-k zruší obsah řádku a druhé C-k zruší řádek
samotný a posune všechny další řádky nahoru. C-k zpracovává numerický
argument speciálně: zruší odpovídající počet řádků VČETNĚ jejich
obsahu. To není opakování. C-u 2 C-k zruší dva řádky a jejich
obsah; dvojitý stisk C-k by toto obvykle neudělal.
Vytažení posledního zrušeného textu a jeho vložení na pozici, kde se
momentálně nachází kurzor, dosáhnete stiskem C-y.
>> Zkuste to; stiskněte C-y pro vhození textu zpět.
Chápejte C-y, jako kdybyste si zpátky vzali něco, co vám někdo sebral.
Všimněte si, že pokud provedete několik C-k za sebou, veškerý zrušený
text je uložen pohromadě, aby jediné C-y vložilo všechny tyto řádky.
>> Stiskněte několikrát C-k.
Nyní obnovte posledně zrušený text:
>> Stiskněte C-y. Pak posuňte kurzor o několik řádků níže a stiskněte
C-y znova. Nyní vidíte, jak lze text kopírovat.
Co když máte nějaký text, který byste rádi vhodili zpět a pak zrušíte
něco jiného? C-y by vložilo poslední zrušený text. Avšak předchozí
text není ztracen. Můžete jej získat zpět použitím příkazu M-y. Poté,
co provedete C-y pro získání posledního zrušeného textu, stisk M-y
vymění tento vhozený text za předchozí zrušený text. Dalšími a
dalšími stisky M-y dostáváte předcházející a předcházející zrušené
texty. Když dosáhnete textu, který hledáte, nemusíte s ním pro jeho
uchování nic dalšího provádět. Jednoduše vhozený text ponechejte, kde
je, a pokračujte v editaci.
Pokud opakujete M-y dostatečně dlouho, dostanete se zpátky k výchozímu
bodu (posledně zrušenému textu).
>> Zrušte řádek, přesuňte kurzor někam jinam a zrušte jiný řádek.
Pak proveďte C-y pro vrácení druhého zrušeného řádku.
Pak proveďte M-y a vhozený řádek bude nahrazen prvním zrušeným řádkem.
Opakujte M-y a pozorujte, co dostáváte. Pokračujte v tom, dokud se
znovu neobjeví druhý zrušený řádek a pak několik dalších.
Chcete-li, můžete zkusit předat M-y kladné a záporné argumenty.
* UNDO
------
Jestliže provedete v textu změnu a pak zjistíte, že to byl omyl, můžete
změnu vrátit příkazem undo C-x u.
C-x u obvykle vrátí změny provedené jedním příkazem; pokud C-x u
zopakujete několikrát za sebou, každé opakování vrátí jeden další
příkaz.
Jsou ale dvě výjimky: příkazy, které nemění text, se nepočítají (to
zahrnuje příkazy pro pohyb kurzoru a scrollování) a znaky vkládající
samy sebe jsou obvykle zpracovávány ve skupinách po 20. (To je kvůli
tomu, aby se zredukoval počet C-x u nutných pro vrácení vkládaného
textu.)
>> Zrušte tento řádek pomocí C-k, stiskněte pak C-x u a řádek by se měl
znovu objevit.
Alternativní undo příkaz je C-_; pracuje stejně jako C-x u, je však
méně pracné jej aplikovat několikrát za sebou. Nevýhodou C-_ je, že
na některých klávesnicích není zřejmé, jak jej vyvolat. To je důvod,
proč nabízíme i C-x u. Na některých terminálech můžete C-_ vyvolat
stiskem / při stisknutém CTRL.
Numerický argument pro C-_ a C-x u funguje jako počet opakování.
* SOUBORY
---------
Aby text, který editujete, zůstal trvale uchován, musíte jej uložit do
souboru. Jinak by byl po ukončení Emacsu ztracen. Svoji editaci
spojíte se souborem "vyhledáním" ("finding") souboru. (Také se to
nazývá "navštívení" ("visiting") souboru.)
Vyhledání souboru znamená, že vidíte jeho obsah v Emacsu. V mnoha
ohledech je to, jako byste editovali přímo ten soubor. Nicméně změny,
které prostřednictvím Emacsu činíte, se nestanou trvalými, dokud tyto
změny do souboru "neuložíte" ("save"). Tím se zamezí nechtěnému ponechání
částečně změněného souboru v systému. Dokonce i když soubor uložíte,
Emacs uchová původní soubor pod změněným názvem pro případ, že byste
zjistili, že vaše úpravy byly chybné.
Když se podíváte do dolní části obrazovky, uvidíte řádek, který začíná a
končí pomlčkami a na začátku "2J:-- TUTORIAL.cs" nebo něco podobného.
Tato část obrazovky obvykle obsahuje jméno souboru, který je právě
navštíven. Zrovna teď máte navštíven soubor nazvaný "TUTORIAL.cs",
který je vaší osobní čmárací kopií tutoriálu Emacsu. Když v Emacsu
vyhledáte soubor, jeho jméno se objeví přesně na tom místě.
Příkazy pro vyhledávání a ukládání souborů se na rozdíl od ostatních
příkazů, které jste se zatím naučili, skládají ze dvou znaků. Oba
začínají znakem Control-x. Existuje celá řada příkazů začínajících na
Control-x; mnoho z nich pracuje se soubory, buffery a podobnými věcmi.
Tyto příkazy jsou dlouhé dva, tři nebo čtyři znaky.
Další věcí ohledně příkazu pro vyhledání souboru je to, že musíte říct,
které jméno souboru chcete. Říkáme, že příkaz "čte argument
z terminálu" (v tomto případě je argumentem jméno souboru). Poté co
vyvoláte příkaz
C-x C-f Vyhledání souboru
Emacs se vás zeptá na jméno souboru. Jméno souboru, které píšete, se
objevuje ve spodním řádku obrazovky, který se v této situaci nazývá
minibuffer. Pro editaci jména souboru můžete používat obvyklé editační
příkazy Emacsu.
Zadávání jména souboru (obecně kterýkoliv vstup z minibufferu) můžete
zrušit příkazem C-g.
>> Stiskněte C-x C-f a pak C-g. To minibuffer zruší a taktéž to zruší
příkaz C-x C-f, který minibuffer použil. Takže nevyhledáte žádný
soubor.
Po napsání jména souboru stiskněte <Return>.
Příkaz C-x C-f pak začne pracovat a vyhledá soubor, který jste zvolili.
Po skončení příkazu C-x C-f minibuffer zmizí.
Po malé chvilce se obsah souboru objeví na obrazovce a můžete jej
editovat. Když chcete změny trvale uložit, použijte příkaz
C-x C-s Uložení souboru
To zkopíruje text z Emacsu do souboru. Když to provedete poprvé, Emacs
přejmenuje původní soubor na soubor s novým jménem, aby nebyl ztracen.
Nové jméno je vytvořeno přidáním "~" na konec původního jména souboru.
Když je ukládání dokončeno, Emacs zobrazí jméno zapsaného souboru.
Měli byste ukládat rozumně často, abyste neztratili příliš mnoho práce
v případě pádu systému.
>> Stiskněte C-x C-s pro uložení vaší kopie tutoriálu.
Mělo by to zobrazit "Wrote ...TUTORIAL.cs" ve spodním řádku obrazovky.
POZNÁMKA: Na některých systémech způsobí stisk C-x C-s ztuhnutí
obrazovky a nevidíte žádný další výstup z Emacsu. To znamená, že
"vlastnost" operačního systému zvaná "flow control" zachycuje C-s a
nepropustí jej k Emacsu. Pro odtuhnutí obrazovky stiskněte C-q. Pak
v sekci "Spontaneous Entry to Incremental Search" v manuálu Emacsu
vyhledejte radu, jak se vypořádat s touto "vlastností".
Existující soubor můžete vyhledat, abyste jej mohli prohlížet nebo
editovat. Můžete také vyhledat soubor, který ještě neexistuje. To je
způsob, jakým lze vytvořit soubor v Emacsu: vyhledejte soubor, který
bude na začátku prázdný a pak začněte vkládat text určený pro tento
soubor. Když požádáte o uložení, Emacs skutečně vytvoří soubor
s textem, který jste vložili. Od chvíle se pak můžete cítit, jako
kdybyste editovali již existující soubor.
* BUFFERY
---------
Jestliže vyhledáte pomocí C-x C-f druhý soubor, první soubor v Emacsu
zůstává. Můžete se do něj zpět přepnout jeho opětovným vyhledáním
pomocí C-x C-f. Tímto způsobem můžete do Emacsu dostat poměrně hodně
souborů.
>> Vytvořte soubor pojmenovaný "foo" stiskem C-x C-f foo <Return>.
Potom vložte nějaký text, zeditujte jej a uložte "foo" stiskem C-x C-s.
Nakonec stiskněte C-x C-f TUTORIAL.cs <Return>, čí se vrátíte zpět do
tutoriálu.
Emacs ukládá text každého souboru do objektu nazývaného "buffer".
Vyhledání souboru vytvoří v Emacsu nový buffer. Chcete-li vidět seznam
bufferů, které momentálně existují ve vašem procesu Emacs, stiskněte:
C-x C-b Seznam bufferů
>> Zkuste teď C-x C-b.
Podívejte se, že každý buffer v seznamu jméno a může tam mít také jméno
souboru, jehož text obsahuje. Některé buffery neodpovídají souborům.
Například buffer pojmenovaný "*Buffer List*" nemá žádný soubor. Je to
buffer, který obsahuje seznam bufferů vytvořený pomocí C-x C-b.
JAKÝKOLIV text, který vidíte v emacsovském okně, je vždy součástí
nějakého bufferu.
>> Stiskněte C-x 1, abyste se zbavili seznamu bufferů.
Pokud provedete změny textu jednoho souboru a pak vyhledáte jiný soubor,
nezpůsobí to uložení prvního souboru. Jeho změny zůstávají v Emacsu
uchovány v jemu odpovídajícím bufferu. Vytvoření a editace druhého
souboru nemá žádný vliv na buffer prvního souboru. To je velmi
užitečné, ale také to znamená, že potřebujete vhodný způsob, jak uložit
buffer prvního souboru. Nutnost přepnout se zpátky pomocí C-x C-f, aby
jej bylo možno uložit prostřednictvím C-x C-s, by byla nemístně
obtěžující. Takže máme
C-x s Uložení některých bufferů
C-x s se vás zeptá na každý buffer, který obsahuje změny, které jste
neuložili. Pro každý takový buffer se vás zeptá, zda jej uložit.
>> Vložte řádek textu a pak stiskněte C-x s.
Měli byste být dotázáni, zda být uložen buffer nazvaný TUTORIAL.cs.
Odpovězte na tuto otázku ano (yes) stiskem "y".
* ROZŠIŘOVÁNÍ SADY PŘÍKAZŮ
--------------------------
Existuje mnohem, mnohem více příkazů Emacsu, než které by vůbec mohly
být rozmístěny na všechny control a meta znaky. Emacs tento problém
obchází prostřednictvím X (eXtend) příkazu. Ten vzniká dvěma způsoby:
C-x Znakový eXtend. Následován jedním znakem.
M-x Pojmenovaný příkaz eXtend. Následován dlouhým názvem.
To jsou příkazy, které jsou obecně užitečné, avšak méně často používané
než ty, které jste se již naučili. jste viděli dva z nich: souborové
příkazy C-x C-f pro vyhledání a C-x C-s pro uložení. Jiný příklad je
příkaz pro ukončení Emacsu -- tj. příkaz C-x C-c. (Nemějte obavy
o ztrátu změn, které jste provedli; C-x C-c nabídne uložení každého
změněného souboru, než Emacs ukončí.)
C-z je příkaz na *dočasné* opuštění Emacsu -- můžete se po něm do
spuštěného Emacsu vrátit.
Na systémech, které to umožňují, C-z Emacs "pozastaví"; tzn. vrátí vás
do shellu, avšak Emacs neukončí. V nejběžnějších shellech se můžete do
Emacsu vrátit příkazem `fg' nebo pomocí `%emacs'.
Na systémech, které pozastavování procesů nemají implementováno, C-z
vytvoří subshell běžící pod Emacsem, aby vám dal šanci spustit jiné
programy a pak se do Emacsu vrátit; neprovede tedy pravé opuštění
Emacsu. V tom případě je obvyklou cestou návratu ze subshellu do Emacsu
shellovský příkaz `exit'.
Chvíle pro použití C-x C-c nastane, když se chystáte odhlásit ze
systému. Správné je to také při ukončování Emacsu vyvolaného poštovním
programem a různými jinými utilitami, protože ty nemusí vědět, jak si
poradit s pozastavením Emacsu. Nicméně za normálních okolností, pokud
se nechystáte odlogovat, je lépe Emacs pozastavit pomocí C-z než jej
ukončit.
Existuje mnoho C-x příkazů. Zde je seznam těch, které jste se již naučili:
C-x C-f Vyhledání souboru
C-x C-s Uložení soubor
C-x C-b Seznam bufferů
C-x C-c Ukončení Emacsu
C-x u Undo
Pojmenované eXtended příkazy jsou příkazy, které jsou používány ještě
méně, nebo příkazy, které jsou používány jenom v jistých módech.
Příkladem je příkaz replace-string, který globálně nahradí jeden řetězec
jiným. Když stisknete M-x, vypíše se na spodním řádku obrazovky prompt
M-x a vy byste měli zadat jméno příkazu; v tomto případě
"replace-string". Jednoduše napište "repl s<TAB>" a Emacs název doplní.
Dokončete zadávání jména příkazu pomocí <Return>.
Příkaz replace-string vyžaduje dva argumenty -- řetězec, který být
nahrazen, a řetězec, který jej nahradit. Každý argument musíte
ukončit pomocí <Return>.
>> Přesuňte kurzor na prázdný řádek dva řádky pod tímto.
Pak napište M-x repl s<Return>změnil<Return>modifikoval<Return>.
Všimněte si, jak se tento řádek změnil: nahradili jste slovo
z-m-ě-n-i-l slovem "modifikoval", kdekoliv se za aktuální pozicí
kurzoru vyskytlo.
* AUTOMATICKÉ UKLÁDÁNÍ
----------------------
Jestliže jste provedli změny v souboru, ale nemáte je ještě uloženy,
mohou být v případě pádu systému ztraceny. Aby vás Emacs od toho
uchránil, periodicky zapisuje "auto save" soubor pro každý soubor, který
editujete. Jméno auto save souboru na začátku a na konci #;
například jestliže se váš soubor jmenuje "hello.c", jeho auto save
soubor se jmenuje "#hello.c#". Když soubor uložíte normálním způsobem,
Emacs auto save soubor smaže.
Jestliže dojde k pádu systému, můžete svoji editaci obnovit z auto-save
souboru, a to normálním vyhledáním souboru (toho, který jste editovali,
ne auto save souboru) a následnou aplikací M-x recover file<return>.
Na žádost o potvrzení odpovězte zadáním yes<return> pro pokračování a
obnovení auto-save dat.
* ECHO OBLAST
-------------
Když Emacs vidí, že píšete příkazy pomalu, ukazuje vám je ve spodní
části obrazovky v oblasti nazývané "echo oblast". Echo oblast obsahuje
dolní řádek obrazovky.
* STAVOVÝ ŘÁDEK
---------------
Řádek bezprostředně nad echo oblastí se nazývá "stavový řádek" ("mode line").
Stavový řádek ří něco jako:
2J:** TUTORIAL.cs (Fundamental)--L670--58%----------------
Tento řádek podává užitečnou informaci o stavu Emacsu a textu, který
editujete.
víte, co znamená jméno souboru -- je to soubor, který jste vyhledali.
-NN%-- označuje vaši aktuální pozici v textu; ří, že NN procent textu
je nad horním okrajem obrazovky. Je-li začátek souboru na obrazovce, je
zde --Top-- a ne --00%--. Je-li konec textu na obrazovce, je zde
--Bot--. Jestliže se díváte na tak malý text, že se celý vejde na
obrazovku, stavový řádek ří --All--.
Hvězdičky poblíž začátku znamenají, že jste text změnili. Těsně po
vyhledání nebo uložení souboru v této části stavového řádku nejsou žádné
hvězdičky, pouze pomlčky.
Část stavového řádku v závorkách ří, v jakých editačních módech se
nacházíte. Implicitní mód je Fundamental, což je ten, který momentálně
používáte. Je příkladem hlavního módu ("major mode").
Emacs celou řadu hlavních módů. Některé z nich jsou určeny pro
editaci různých programovacích jazyků a/nebo textů jako třeba Lisp mód,
Text mód, atd. V libovolném okamžiku je aktivní právě jeden hlavní mód a
jeho jméno lze nalézt ve stavovém řádku na místě, kde je teď
"Fundamental".
Každý hlavní mód mění chování některých příkazů. Například existují
příkazy pro vytváření komentářů v programu, a protože každý programovací
programovací jazyk jinou představu o tom, jak komentář vypadat,
musí každý hlavní mód vkládat komentáře jinak. Každý hlavní mód je
vlastně jméno extended příkazu, kterým se do tohoto módu můžete
přepnout. Například M-x fundamental-mode je příkaz pro přepnutí se do
Fundamental módu.
Chystáte-li se editovat český text, jako třeba tento soubor,
pravděpodobně byste měli použít Text mód.
>> Napište M-x text-mode<Return>.
Nebojte se, žádný z příkazů, které jste se naučili, chování Emacsu nijak
významně nezmění. Můžete si ale všimnout, že M-f a M-b nyní pracují
s apostrofy jako se součástmi slov. Předtím, ve Fundamental módu, M-f a
M-b pracovaly s apostrofy coby oddělovači slov.
Hlavní módy obvykle dělají menší změny, jako byla tato: příkazy většinou
dělají "totéž", ale v každém hlavním módu pracují trošku jinak.
Dokumentaci k aktuálnímu hlavnímu módu si můžete zobrazit stiskem C-h m.
>> Jednou nebo několikrát použijte C-u C-v, abyste tento řádek dostali
k vrcholu obrazovky.
>> Stiskněte C-h m, abyste viděli, jak se Text mód liší od Fundamental
módu.
>> Stiskněte C-x 1 pro odstranění dokumentace z obrazovky.
Hlavní módy se nazývají hlavní proto, že také existují vedlejší módy
(minor modes). Vedlejší módy nejsou alternativou k hlavním módům, nýbrž
jejich malé modifikace. Každý vedlejší mód může být zapnut nebo vypnut
sám o sobě nezávisle na všech ostatních vedlejších módech a nezávisle na
hlavním módu. Takže nemusíte používat žádný vedlejší mód nebo můžete
používat jeden vedlejší mód nebo libovolnou kombinaci několika
vedlejších módů.
Jedním z velmi užitečných vedlejších módů, zejména pro editaci českých
textů, je Auto Fill mód. Když je tento mód zapnut, Emacs zalomí řádek
mezi dvěma slovy, kdykoliv vkládáte text a řádek se stane příliš
dlouhým.
Auto Fill mód můžete zapnout provedením M-x auto-fill-mode<Return>.
Je-li tento mód zapnut, můžete jej vypnout provedením M-x
auto-fill-mode<Return>. Je-li mód vypnut, tento příkaz jej zapíná,
a je-li mód zapnut, tak jej tento příkaz vypíná. Říkáme, že tento
příkaz přepíná ("toggles") tento mód.
>> Napište teď M-x auto-fill-mode<Return>. Pak vkládejte "asdf " stále
dokola tak dlouho, uvidíte, jak se vkládaný řádek rozdělí na dva
řádky. Do textu musíte vkládat mezery proto, že Auto Fill mód
zalamuje řádky pouze v mezerách.
Okraj je obvykle nastaven na 70 znaků, ale můžete to změnit příkazem
C-x f. Hodnotu okraje, kterou si přejete, byste měli předat jako
numerický argument.
>> Napište C-x f s argumentem 20. (C-u 2 0 C-x f).
Pak pište nějaký text a pozorujte, jak Emacs vyplňuje řádky po
20 znacích. Pak nastavte okraj zpátky na 70 opětovným použitím
C-x f.
Jestliže provedete změny uprostřed odstavce, Auto Fill mód jej
nepřeformátuje.
Pro přeformátování odstavce stiskněte M-q (Meta-q) s kurzorem uvnitř
odstavce.
>> Přesuňte kurzor do předchozího odstavce a stiskněte M-q.
* VYHLEDÁVÁNÍ
-------------
Emacs umí v textu vyhledávat řetězce (tj. skupiny spojených znaků nebo
slov) směrem vpřed nebo vzad. Hledání řetězce je příkaz přesunující
kurzor; přesune kurzor na nejbližší místo, kde se tento řetězec nachází.
Vyhledávací příkaz Emacsu se liší od vyhledávacích příkazů většiny
editorů v tom smyslu, že je "inkrementální". To znamená, že vyhledávání
se provádí v okamžiku, kdy zadáváte vyhledávací řetězec.
Příkaz pro zahájení hledání vpřed je C-s a pro hledání vzad C-r.
ALE POZOR! Nezkoušejte to ještě.
Když stisknete C-s, uvidíte v echo oblasti prompt "I-search". To vám
ří, že Emacs se nachází ve stavu, který se nazývá inkrementální hledání,
a čeká, mu zadáte, co chcete hledat. <RET> hledání ukončí.
>> Nyní zahajte hledání stiskem C-s. POMALU, písmeno po písmenu, pište
slovo 'kurzor'. Po každém písmenu si všimněte, co se děje s kurzorem.
Teď jste vyhledali "kurzor" poprvé.
>> Stiskněte C-s znovu, abyste nalezli další výskyt "kurzor".
>> Nyní čtyřikrát stiskněte <Delete> a pozorujte, jak se kurzor
přesunuje.
>> Stiskněte <RET> pro ukončení hledání.
Viděli jste, co se stalo? Emacs se v inkrementálním hledání pokouší
přejít na další výskyt řetězce, který jste dosud napsali. Chcete-li
přejít na další výskyt 'kurzor', jednoduše stiskněte C-s znovu.
Jestliže žádný takový výskyt není, Emacs pípne a řekne vám, že
hledání momentálně "selhává", C-g hledání ukončí.
POZNÁMKA: Na některých systémech stisk C-s způsobí ztuhnutí
obrazovky a nevidíte žádný další výstup z Emacsu. To znamená, že
"vlastnost" operačního systému zvaná "flow control" zachycuje C-s a
nepropustí jej k Emacsu. Pro odtuhnutí obrazovky stiskněte C-q. Pak
v sekci "Spontaneous Entry to Incremental Search" v manuálu Emacsu
vyhledejte radu, jak se vypořádat s touto "vlastností".
Jestliže uprostřed inkrementálního hledání stisknete <Delete>, uvidíte,
že poslední znak v hledaném řetězci zmizí a hledání se vrací na poslední
místo hledání. Předpokládejme například, že jste napsali "c", abyste
našli první výskyt "k". Jestliže nyní stisknete "u", kurzor se přesune na
první výskyt "ku". Teď stiskněte <Delete>. To vymaže "u" z hledaného
řetězce a kurzor se přesune zpět na první výskyt "k".
Jestliže uprostřed hledání stisknete control nebo meta znak (s několika
výjimkami -- znaky, které jsou speciální v hledání, jako C-s a C-r),
hledání se ukončí.
C-s zahajuje hledání, které hledá jakýkoliv výskyt hledaného řetězce ZA
aktuální pozicí kurzoru. Chcete-li něco hledat v předcházejícím textu,
stiskněte C-r místo C-s. Vše, co jsme řekli o C-s, platí také o C-r
kromě toho, že směr hledání je opačný.
* VÍCE OKEN
-----------
Jednou z pěkných vlastností Emacsu je to, že může na obrazovce zobrazit
více oken současně.
>> Přesuňte kurzor na tento řádek a stiskněte C-u 0 C-l.
>> Teď stiskněte C-x 2, což rozdělí obrazovku na dvě okna.
Obě okna zobrazují tento tutoriál. Kurzor zůstává navrchu okna.
>> Tiskněte C-M-v pro scrollování spodního okna.
(Nemáte-li skutečnou klávesu Meta, stiskněte ESC C-v.)
>> Stiskněte C-x o ("o" jako "other") pro přesun kurzoru do dolního okna.
>> Použijte C-v a M-v ve spodním okně pro jeho scrollování.
Pokračujte ve čtení těchto instrukcí v horním okně.
>> Znovu stiskněte C-x o pro přesun kurzoru zpět do horního okna.
Kurzor v horním okně je přesně na místě, kde byl původně.
Můžete dále používat C-x o pro přepínání mezi okny. Každé okno svoji
vlastní pozici kurzoru, ale jenom jedno okno kurzor skutečně zobrazuje.
Všechny obvyklé editační příkazy platí pro okno, ve kterém se nachází
kurzor. Toto okno nazýváme "aktivní okno" ("selected window").
Příkaz C-M-v je velmi užitečný, jestliže v jednom okně editujete text a
druhé okno používáte pouze pro přehled. Můžete kurzor nechávat stále
v okně, kde editujete, a postupovat po druhém okně pomocí C-M-v.
C-M-v je příkladem CONTROL-META znaku. Máte-li skutečnou META klávesu,
můžete vyvolat C-M-v přidržením obou kláves CTRL a META při stisku v.
Nezáleží na tom, zda je prvně stisknuta CTRL nebo META, protože obě tyto
klávesy fungují jako modifikátory kláves, které tisknete.
Pokud nemáte skutečnou META klávesu, můžete místo použít ESC, na
pořadí záleží: musíte stisknout ESC a následně CTRL-v; CTRL-ESC v by
nefungovalo. To proto, že ESC je samostatný znak, nikoliv modifikátor.
>> Stiskněte C-x 1 (v horním okně), abyste se zbavili dolního okna.
(Kdybyste C-x 1 stiskli v dolním okně, odstranilo by to horní okno.
Chápejte tento příkaz jako "ponechej právě jedno okno -- to, ve kterém
zrovna jsem".)
Nemusíte v obou oknech zobrazovat tentýž buffer. Jestliže použijete
C-x C-f pro vyhledání souboru v jednom z oken, druhé okno se nezmění.
Můžete vyhledávat soubory v obou oknech nezávisle.
Zde je další způsob, jak využít dvě okna ke zobrazení dvou různých věcí:
>> Stiskněte C-x 4 C-f následované jménem některého z vašich souborů.
Dokončete to pomocí <Return>. Vidíte zadaný soubor v dolním okně.
Přesunul se tam i kurzor.
>> Stiskněte C-x o pro přesun zpět do horního okna a C-x 1 pro smazání
dolního okna.
* REKURZIVNÍ EDITAČNÍ ÚROVNĚ
----------------------------
Občas se dostanete do něčeho, co se nazývá "rekurzivní editační úroveň"
("recursive editing level"). To je indikováno hranatými závorkami ve
stavovém řádku obklopujícími závorky okolo jména hlavního módu.
Například můžete vidět [(Fundamental)] místo (Fundamental).
Abyste se dostali z rekurzivní editační úrovně, stiskněte ESC ESC ESC.
To je obecný "vyskakovací" příkaz. Můžete jej použít též pro odstranění
některých oken a vyskočení z minibufferu.
>> Stiskněte M-x, abyste se dostali do minibufferu; pak stiskněte
ESC ESC ESC, abyste se z něj dostali ven.
Z rekurzivní editační úrovně nemůžete vyskočit pomocí C-g. To proto, že
C-g je využíváno pro rušení příkazů a argumentů UVNITŘ rekurzivní
editační vrstvy.
* ZÍSKÁNÍ DALŠÍ NÁPOVĚDY
------------------------
V tomto tutoriálu jsme se pokusili poskytnout vám dostatek informací,
abyste mohli začít Emacs používat. V Emacsu je toho tolik, že by bylo
nemožné to zde všechno objasnit. Nicméně se o Emacsu můžete naučit
více, protože mnoho užitečných vlastností. Emacs nabízí příkazy pro
čtení dokumentace svých příkazů. Všechny tyto "help" příkazy
začínají znakem Control-h, který se nazývá "help znak".
Pro použití vlastností nápovědy stiskněte znak C-h a pak znak říkající,
jaký druh nápovědy žádáte. Jste-li OPRAVDU ztraceni, stiskněte C-h ? a
Emacs vám sdělí, jaké druhy nápovědy vám může poskytnout. Jestliže
jste stiskli C-h a pak jste se rozhodli, že žádnou nápovědu nechcete,
jednoduše to zrušte stiskem C-g.
(Na některých počítačích je význam znaku C-h změněn. To by opravdu
nemělo být obecným nastavením pro všechny uživatele, takže máte právo
stěžovat si systémovému administrátorovi. Do doby, jestliže C-h
nezobrazuje hlášení o nápovědě v dolní části obrazovky, zkuste místo
toho používat klávesu F1 nebo M-x help RET.)
Nejzákladnější help příkaz je C-h c. Stiskněte C-h, znak c a klávesový
příkaz; Emacs pak zobrazí velmi stručný popis příkazu.
>> Stiskněte C-h c Control-p.
Hlášení by mělo vypadat asi takto
C-p runs the command previous-line
To vám sděluje "jméno funkce". Jména funkcí jsou používána zejména pro
konfiguraci a rozšiřování Emacsu. Ale protože jména funkcí jsou volena
tak, aby naznačovala, co odpovídající příkaz dělá, mohou sloužit také
jako velmi stručná dokumentace -- dostatečná k tomu, aby vám připomenula
příkazy, které jste se již naučili.
Víceznakové příkazy jako C-x C-s a (pokud nemáte META, EDIT ani ALT
klávesu) <ESC>v jsou po C-h c povoleny také.
K získání více informací o příkazu místo C-h c použijte C-h k.
>> Stiskněte C-h k Control-p.
To zobrazí dokumentaci k funkci a její jméno v emacsovském okně.
výstup přečtete, stiskněte C-x 1, abyste se textu nápovědy zbavili.
Nemusíte to dělat hned. Můžete chvíli editovat a nahlížet do textu
nápovědy a teprve pak stisknout C-x 1.
Zde jsou další užitečné C-h volby:
C-h f Popis funkce. Zadáváte jméno funkce.
>> Zkuste napsat C-h f previous-line<Return>.
To vypíše veškeré informace, které Emacs o funkci implementující
příkaz C-p.
C-h a Příkazové apropos. Zadejte klíčové slovo a Emacs vypíše
všechny příkazy, jejichž jména obsahují toto klíčové
slovo. Všechny tyto příkazy mohou být vyvolány pomocí
Meta-x. Pro některé příkazy příkazové apropos vypíše
také jedno nebo dvouznakové sekvence, které provádějí
tentýž příkaz.
>> Napište C-h a file<Return>.
To zobrazí v druhém okně seznam všech M-x příkazů obsahujících "file" ve
svém názvu. Znakové příkazy jako C-x C-f uvidíte vypsané vedle
odpovídajících jmen příkazů jako find-file.
>> Stiskněte C-M-v pro posun okna s nápovědou. Proveďte to několikrát.
>> Stiskněte C-x 1 pro smazání okna s nápovědou.
* ZÁVĚR
-------
Nezapomeňte, Emacs ukončíte provedením příkazu C-x C-c. Pro dočasný
odskok do shellu, ze kterého se do Emacsu můžete opět vrátit,
použijte C-z.
Záměrem tohoto tutoriálu je být srozumitelný všem novým uživatelům, takže
narazíte-li na něco nejasného, tak neusedejte a neklaďte to za vinu sobě
-- stěžujte si!
KOPÍROVÁNÍ
----------
Tento tutoriál vychází z dlouhé řady emacsovských tutoriálů zahájené
tutoriálem napsaným Stuartem Cracraftem pro původní Emacs.
Tato verze tutoriálu je, podobně jako GNU Emacs, chráněna copyrightem a
je šířena se svolením distribuovat kopie za jistých podmínek:
Copyright (c) 1985, 1996 Free Software Foundation
Každému je zaručeno právo vytvářet a distribuovat přesné kopie tohoto
dokumentu tak, jak jej obdržel, na jakémkoliv médiu, s tím, že bude
zachována tato poznámka o autorství a poznámka o svolení a že
distributor zaručuje příjemci právo na další redistribuci povolenou
touto poznámkou.
Je zaručeno právo distribuovat modifikované verze tohoto dokumentu
nebo jeho částí pod výše uvedenými podmínkami za předpokladu, že
obsahuje jasné poznámky uvádějící, kdo provedl poslední modifikace.
Podmínky pro kopírování Emacsu samotného jsou složitější, avšak ve
stejném duchu. Přečtěte si prosím soubor COPYING a pak předávejte kopie
GNU Emacsu svým přátelům. Pomáhejte potírat softwarovou obstrukci
("vlastnictví") používáním, psaním a sdílením free softwaru!
;;; Local Variables:
;;; coding: iso-latin-2
;;; End: