mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-15 09:47:20 +00:00
1107 lines
46 KiB
Plaintext
1107 lines
46 KiB
Plaintext
Tútorial k Emacsu. Podmienky pozri na konci.
|
||
Copyright (c) 1985, 1996, 1998, 2001, 2002, 2005 Free Software Foundation.
|
||
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 Free Software Foundation
|
||
|
||
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
|