mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-29 07:58:28 +00:00
1044 lines
42 KiB
C#
1044 lines
42 KiB
C#
Copyright (c) 1985 Free Software Foundation, Inc; podmínky viz na konci.
|
||
Do češtiny přeložil Milan Zamazal <pdm@zamazal.org>.
|
||
|
||
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é. Už 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é. Znaky s klávesou META jsou velmi často využívány pro operace
|
||
vztahující se k entitám definovaným jazykem (slova, věty, odstavce),
|
||
zatímco znaky s klávesou CONTROL 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 má. 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 Window, měli byste mít na levé straně emacsové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 C-h k C-f.
|
||
Pozorujte, jak se aktuální okno zmenší a objeví se nové okno za
|
||
účelem zobrazení dokumentace k příkazu C-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, až 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, až 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ď už 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.
|
||
|
||
Libovolnou část bufferu můžete též zrušit následující metodou.
|
||
Přesuňte se na jeden konec této části a stiskněte C-@ nebo C-SPC
|
||
(libovolnou z těchto kombinací). (SPC označuje mezerník.) Přesuňte
|
||
se na druhý konec této části a stiskněte C-w. Text mezi těmito
|
||
pozicemi bude zrušen.
|
||
|
||
>> Přesuňte kurzor na písmeno L na začátku předchozího odstavce.
|
||
>> Stiskněte C-SPC. Emacs by měl ve spodním řádku obrazovky
|
||
zobrazit zprávu "Mark set".
|
||
>> Přesuňte kurzor na písmeno c ve slově "konec" na druhém řádku
|
||
odstavce.
|
||
>> Stiskněte C-w. Text začínající písmenem L a končící před písmenem
|
||
c bude zrušen.
|
||
|
||
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 už není opakování. C-u 2 C-k zruší dva řádky a jejich
|
||
obsah; dvojitý stisk C-k by toto obvykle neudělal.
|
||
|
||
Vracení textu zpět se nazývá "vhazování" ("yanking"). (Představte
|
||
si opětovné vhazování, vracení dříve odstraněného textu zpátky.)
|
||
Zrušený text můžete vhodit buď na stejné místo, kde byl zrušen,
|
||
nebo na jiné místo v bufferu, nebo dokonce i do jiného souboru.
|
||
Text můžete vhodit i vícekrát, vytváříte tak jeho další kopie.
|
||
|
||
Příkazem pro vhazování je C-y. Tento příkaz vloží poslední smazaný
|
||
text na pozici, na které se nachází kurzor.
|
||
|
||
>> Zkuste to; stiskněte C-y pro vhození textu zpět.
|
||
|
||
Stisknete-li několikrát C-k po sobě, všechen smazaný text je uložen
|
||
společně tak, aby bylo možné vhodit zpět všechny řádky najednou.
|
||
|
||
>> 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 až 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í.
|
||
|
||
Pomocí příkazu undo můžete vrátit zrušený stejně jako smazaný text.
|
||
Rozdíl mezi mazáním a rušením textu ovlivňuje možnost vhození tohoto
|
||
textu pomocí C-y, neovlivňuje možnosti příkazu undo.
|
||
|
||
|
||
* 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 má "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 té 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>, čímž 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 má 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 emacsové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 má uložit.
|
||
|
||
>> Vložte řádek textu a pak stiskněte C-x s.
|
||
Měli byste být dotázáni, zda má 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. Už 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ý má být
|
||
nahrazen, a řetězec, který jej má 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 má 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 říká něco jako:
|
||
|
||
2J:** TUTORIAL.cs (Fundamental)--L670--58%----------------
|
||
|
||
Tento řádek podává užitečnou informaci o stavu Emacsu a textu, který
|
||
editujete.
|
||
|
||
Už víte, co znamená jméno souboru -- je to soubor, který jste vyhledali.
|
||
-NN%-- označuje vaši aktuální pozici v textu; říká, ž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 říká --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 říká, 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 má 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 má jinou představu o tom, jak má 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, až 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í už 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
|
||
říká, že Emacs se nachází ve stavu, který se nazývá inkrementální hledání,
|
||
a čeká, až 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 už žá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 má 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 ní 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 má 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 té 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 C-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 C-p.
|
||
|
||
To zobrazí dokumentaci k funkci a její jméno v emacsovém okně. Až
|
||
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 má o funkci implementující
|
||
příkaz C-p.
|
||
|
||
Podobný příkaz C-h v zobrazí dokumentaci proměnné, jejíž hodnotu
|
||
můžete nastavit a změnit tím chování Emacsu. Jméno proměnné zadáte, až
|
||
se na ně Emacs zeptá.
|
||
|
||
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.
|
||
|
||
C-h i Čtení on-line manuálů (též Info). Tento příkaz
|
||
vás přepne do speciálního bufferu s názvem `*info*',
|
||
ve kterém můžete číst on-line manuály pro balíky
|
||
nainstalované na vašem systému. Pokud stisknete
|
||
m emacs <Return> můžete si například přečíst manuál
|
||
k Emacsu. Pokud jste dosud nikdy nepoužívali Info,
|
||
stiskněte ? a Emacs vám představí hlavní možnosti
|
||
módu pro Info. Až si tyto možnosti prostudujete,
|
||
měli byste používat Info manuál Emacsu jako svoji
|
||
primární dokumentaci.
|
||
|
||
|
||
* 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 emacsový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:
|