mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-04 08:47:11 +00:00
59ce725a3b
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-987
1107 lines
46 KiB
Plaintext
1107 lines
46 KiB
Plaintext
Tútorial k Emacsu. Podmienky pozri na konci.
|
|
Do češtiny preložil Milan Zamazal <pdm@zamazal.org>, do slovenčiny Miroslav
|
|
Vaško <zemiak@zoznam.sk>.
|
|
|
|
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-<chr> znamená podržať klávesu CONTROL a stlačiť znak <chr>.
|
|
Teda C-f znamená: podržte klávesu CONTROL a stlačte f.
|
|
M-<chr> znamená podržať klávesu META, EDIT alebo ALT a stlačiť <chr>.
|
|
Ak nemáte žiadnu z kláves META, EDIT ani ALT, tak namiesto toho
|
|
stlačte a pustite klávesu ESC a potom <chr>. Klávesu ESC budeme
|
|
označovať <ESC>.
|
|
|
|
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.:
|
|
<<Blank lines inserted here by startup of help-with-tutorial>>
|
|
[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 <ESC>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 <ESC>, 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 <Return> (klávesu Enter).
|
|
|
|
Posledný znak, ktorý ste napísali, môžete zmazať stlačením <Delback>.
|
|
<Delback> 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 <Return>, 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 <Delback>. Môže tam byť niekde inde ešte klávesa
|
|
označená ako "Delete", ale to nie je <Delback>.
|
|
|
|
Všeobecne, <Delback> 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 <Delback>. 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 <Delback> 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 <Delback>. To tento
|
|
riadok spojí s riadkom predchádzajúcim.
|
|
|
|
>> Stlačte <Return> 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:
|
|
|
|
<Delback> Zmazanie znaku bezprostredne pred kurzorom
|
|
C-d Zmazanie znaku nasledujúceho za kurzorom
|
|
|
|
M-<Delback> 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 <Delback> a C-d, resp. M-<Delback> a M-d, rozširujú paralelu
|
|
začatú C-f a M-f (pravda, <Delback> 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 <Return> 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 <Return>.
|
|
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 <Return>, čí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 <Return> na vrátenie sa do bufferu "foo", ktorý uchováva
|
|
text súboru "foo". Potom napíšte C-x b TUTORIAL.sk <Return> 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* <Return> a pozrite sa na buffer so správami. Potom
|
|
napíšte C-x b TUTORIAL.sk <Return> 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<TAB>"
|
|
a Emacs názov doplní. (<TAB> 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 <Return>.
|
|
|
|
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 <Return>.
|
|
|
|
>> Presuňte kurzor na prázdny riadok dva riadky pod týmto.
|
|
Potom napíšte M-x repl s<Return>zmenil<Return>modifikoval<Return>.
|
|
|
|
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<return>.
|
|
Na žiadosť o potvrdenie odpovedzte zadaním yes<return> 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 <Return>.
|
|
|
|
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<Return>.
|
|
Ak je tento mód zapnutý, môžete ho vypnúť vykonaním M-x
|
|
auto-fill-mode<Return>. 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<Return>. 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ť. <RET> 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 <Delback> a pozerajte, ako sa kurzor
|
|
presúva.
|
|
>> Stlačte <RET> 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 <Delback>, 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 <Delback>. 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 <Return>. 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) <ESC>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<Return>.
|
|
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<Return>.
|
|
|
|
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 <Return>,
|
|
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<Tab> 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, 2008 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
|