1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-21 10:24:55 +00:00
emacs/etc/TUTORIAL.sl
2005-08-24 11:32:07 +00:00

1141 lines
47 KiB
Plaintext

Prvo berilo za Emacs. Pogoji uporabe in raz¹irjanja so navedeni na koncu.
Ukazi v Emacsu v splo¹nem vkljuèujejo tipki CONTROL (vèasih oznaèeni
CTRL ali CTL) in META (vèasih oznaèena EDIT ali ALT). Namesto, da bi ju
vedno izpisali s celim imenom, bomo uporabili naslednji okraj¹avi:
C-<znak> pomeni, da moramo dr¾ati pritisnjeno tipko CONTROL, ko
vtipkamo <znak>. Oznaka C-f tako pomeni: dr¾imo pritisnjeno
tipko CONTROL in pritisnemo tipko f.
M-<znak> pomeni, da moramo dr¾ati pritisnjeno tipko META, EDIT ali
ALT, ko vtipkamo <znak>. Èe na tipkovnici ni tipk META, EDIT
ali ALT, pritisnemo tipko ESC, jo spustimo in zatem
pritisnemo tipko <chr>. Tipko ESC bomo oznaèevali z <ESC>.
Pomembno: Emacs zapustimo z ukazom C-x C-c (dva znaka).
V uèbeniku so vaje, s katerimi preskusite nove ukaze. Oznaèujeta jih
znaka ,>>` ob levem robu. Zgled:
<<Blank lines inserted here by startup of help-with-tutorial>>
[Sredina strani je iz didaktiènih razlogov prazna. Besedilo se nadaljuje spodaj]
>> Vtipkajte zdaj ukaz C-v (View next screen, Prika¾i naslednji zaslon),
da se premaknete na naslednji zaslon (kar poskusite, pritisnite
hkrati tipko CONTROL in V). Od zdaj naprej boste morali to
napraviti sami vsakiè, ko pridete do konca zaslona.
Ste opazili, da sta se dve vrstici s prej¹njega zaslona ponovili? Ta
kontinuiteta olaj¹a branje pri skakanju s strani na stran.
Prva stvar, ki si jo morate zapomniti, je, kako se premikate po
datoteki. Zdaj ¾e veste, da se premaknete za cel zaslon naprej z
ukazom C-v. Za cel zaslon nazaj pa se premaknete z ukazom M-v
(pritisnite tipko META in jo dr¾ite ter pritisnite tipko v, ali pa
pritisnite in spustite <ESC> ter zatem pritisnite tipko v, èe tipke
META, EDIT ali ALT na va¹i tipkovnici ni).
>> Nekajkrat pritisnite M-v in C-v, da vidite, kako ukaza delujeta.
* POVZETEK
----------
Za pregled celega zaslona besedila so uporabni naslednji ukazi:
C-v Premik se za cel zaslon naprej
M-v Premik se za cel zaslon nazaj
C-l Cel zaslon premaknemo tako, da je zdaj po vertikali
osredninjen okoli besedila, kjer se nahaja kazalèek
(znak v C-l je èrka L, ne ¹tevka 1)
>> Poi¹èite kazalèek na zaslonu in si zapomnite besedilo okoli njega.
Vtipkajte C-l.
Ponovno poi¹èite kazalèek. Besedilo okoli njega je ostalo isto.
Za premikanje za cel zaslon naprej ali nazaj lahko tipkovnicah, ki
imajo ti tipki, uporabljate tudi PageUp in PageDown. Opisan postopek s
C-v in M-v pa deluje povsod.
* PREMIKANJE KAZALÈKA
---------------------
Premiki za celo stran naprej in nazaj so sicer uporabni, ampak kako pa
pridemo do izbranega mesta na zaslonu?
Naèinov je veè. Najosnovnej¹i je uporaba ukazov C-p, C-b, C-f in
C-n. Ti po vrsti premaknejo kazalèek v prej¹njo vrstico, znak nazaj,
znak naprej, in v naslednjo vrstico. Ti ¹tirje ukazi so enakovredni
kurzorskim tipkam:
prej¹nja vrstica, C-p
:
:
nazaj, C-b .... trenutni polo¾aj kazalèka .... naprej, C-f
:
:
naslednja vrstica, C-n
>> S pritiski na C-n ali C-p premaknite kazalèek v sredinsko vrstico
na diagramu zgoraj. Zatem pritisnite C-l. S tem diagram postavite na
sredino zaslona.
V angle¹èini ima izbor tipk nazoren pomen. P kot ,previous`
(prej¹nji), N kot ,next` (naslednji), B kot ,backward` (nazaj) in F
kot ,forward` (naprej). Te osnovne ukaze za premikanje kazalèka boste
uporabljali ves èas.
>> Nekajkrat pritisnite C-n, da pride kazalèek do te vrstice.
>> Z nekaj C-f se pomaknite na desno na sredo vrstice, nato pa nekajkrat
pritisnite C-p. Opazujte, kaj se dogaja s kazalèkom na sredini
vrstice.
Vsaka vrstice v besedilu je zakljuèena z znakom za novo vrstico
(angl. Newline). Ta loèuje vrstico v besedilu od naslednje. Tudi
zadnja vrstica v datoteki mora biti zaljuèena z znakom za novo vrstico
(èeprav tega Emacs ne zahteva).
>> Poskusite ukaz C-b, ko je kazalèek na zaèetku vrstice. Kazalèek se
mora premakniti na konec prej¹nje vrstice. To je zato, ker se je
ravnokar premaknil prek znaka za konec vrstice.
Ukaz C-f premika kazalèek prek znaka za novo vrstico enako kot C-b.
>> Poskusite ¹e nekajkrat pritisniti C-b, da dobite obèutek za
premikanje kazalèka. Potem nekajkrat poskusite C-f, da pridete do konca
vrstice. ©e enkrat pritisnite C-f, da skoèite v naslednjo vrstico.
Ko s kazalèkom dose¾ete zgornji ali spodnji rob zaslona, se besedilo
toliko premakne, da kazalèek ostane na zaslonu. V angle¹èini se temu
pravi ,,scrolling``. To omogoèa, da lahko premaknemo kazalèek na
katerokoli mesto v besedilu, a vseeno ostanemo na zaslonu.
>> Poskusite kazalèek pripeljati s C-n èisto do dna zaslona in si oglejte,
kaj se zgodi.
Èe se vam zdi premikanje po en znak prepoèasno, se lahko premikate za
celo besedo. M-f (META-f) premakne kazalèek za eno besedo naprej, M-b
pa za besedo nazaj.
>> Poskusite nekajkrat M-f in M-b.
Èe je kazalèek sredi besede, ga M-f prestavi na konec besede. Èe je v
belini med besedami, ga M-f premakne na konec naslednje besede. M-b
deluje podobno, a v nasprotni smeri.
>> Nekajkrat poskusite M-f in M-b, vmes pa ¹e nekaj C-f in
C-b. Opazujte uèinke M-f in M-b, ko je kazalèek sredi besede ali
med besedami.
Ste opazili paralelo med C-f in C-b na eni strani ter M-f in M-b na
drugi? V Emacsu se dostikrat ukazi Meta nana¹ajo na operacije nad
enotami jezika (besede, stavki, odstavki), medtem ko se ukazi Control
nana¹ajo na operacije, neodvisne od zvrsti besedila (znaki, vrstice
ipd.).
Podobna zveza je tudi med vrsticami in stavki: ukaza C-a in C-e
premakneta kazalèek na zaèetek oz. konec vrstice, M-a in M-e pa na
zaèetek oz. konec stavka.
>> Poskusite nekaj ukazov C-a, potem pa nekaj ukazov C-e.
Poskusite nekaj ukazov M-a, potem pa nekaj ukazov M-e.
Ste opazili, da ponovljeni C-a ne napravijo niè, ponovljeni M-a pa se
premikajo naprej? Èeprav se ne obna¹ata enako, pa je vendar obna¹anje
enega in drugega po svoje naravno.
Polo¾aju kazalèka na zaslonu pravimo tudi ,,point``, toèka.
Parafrazirano: kazalèek ka¾e na zaslonu, kje je toèka v besedilu.
Povzetek preprostih ukazov za premikanje kazalèka, vkljuèno s premiki
po besedo in stavek:
C-f Premik za znak naprej
C-b Premik za znak nazaj
M-f Premik za besedo naprej
M-b Premik za besedo nazaj
C-n Premik v naslednjo vrstico
C-p Premik v prej¹njo vrstico
C-a Premik na zaèetek vrstice
C-e Premik na konec vrstice
M-a Premik na zaèetek stavka
M-e Premik na konec stavka
>> Za vajo nekajkrat poskusite vsakega od teh ukazov.
To so najpogosteje uporabljani ukazi.
©e dva pomembna ukaza za premikanje kazalèka sta M-< (META-manj¹i od),
ki ga premakne na zaèetek datoteke, in M-> (META-veèji od), ki ga
premakne na konec datoteke.
Na ameri¹kih tipkovnicah najdete znak < nad vejico in morate
pritisniti tipko Shift, da pridete do njega. Z ukazom M-< je enako -
prav tako morate pritisniti tipko Shift, sicer moste izvedli drug
ukaz, Meta-vejica. Na na¹ih tipkovnicah sta oba znaka na isti tipko,
in za ukaz M-> morate pritisniti ¹e tipko Shift.
>> Poskusite zdaj M-<, skok na zaèetek tega uèbenika.
Potem se vrnite nazaj z zaporednimi C-v.
>> Poskusite zdaj M->, skok na konec tega uèbenika.
Potem se vrnite nazaj z zaporednimi M-v.
Èe ima va¹a tipkovnica kurzorske tipke, lahko premikate kazalèek po
zaslonu tudi z njimi. Vseeno priporoèamo, da se privadite ukazov C-b,
C-f, C-n in C-p, in to iz treh razlogov. Prviè, delujejo na èisto vseh
terminalih. Drugiè, z nekaj prakse v Emacsu boste opazili, da je
tipkanje ukazov s CONTROL hitrej¹e od tipkanja s kurzorskimi tipkami, ker
ni treba ves èas premikati desnice s tipkovnice na kurzorske tipke in
nazaj. In tretjiè, ko se enkrat navadite teh ukazov s CONTROL, se boste
enostavneje nauèili tudi bolj zapletenih ukazov za premikanje kazalèka.
Veèini ukazov v Emacsu lahko podamo ¹tevilèni argument; najveèkrat ta
pove, kolikokrat zapovrstjo naj se ukaz izvede. Veèkratno ponovitev
ukaza izvedemo tako, da najprej vtipkamo C-u, zatem ¹tevilo,
kolikokrat naj se ukaz ponovi, in nazadnje ¾eljeni ukaz. Èe ima va¹a
tipkovnica tipko META (ali EDIT ali ALT), lahko izpustite ukaz C-u in
namesto tega vtipkate ¹tevilo ponovitev, medtem ko dr¾ite pritisnjeno
tipko META. Druga metoda je sicer kraj¹a, priporoèamo pa prvo, ker
deluje na vseh terminalih. Tak¹en ¹tevilèni argument je ,,prefiksni``
argument, ker vnesemo argument pred ukazom, na katerega se nana¹a.
Zgled: C-u 8 C-f premakne kazalèek za osem znakov naprej.
>> Poskusite s primernim argumentom za ¹tevilo ponovitev ukaza
C-n ali C-p priti èim bli¾e tej vrstici v enem samem skoku.
Veèina ukazov, ne pa vsi, uporablja ¹tevilèni argument kot ¹tevilo
ponovitev ukaza. Nekateri ukazi - nobeden od tistih, ki smo si jih
ogledali do zdaj - ga uporabljajo kot stikalo: s podanim prefiksnim
argumentom napravi ukaz nekaj drugega kot obièajno.
Ukaza C-v in M-v sta tudi izjemi, a drugaèni. Èe jima podamo argument,
premakneta zaslon za navedeno ¹tevilo vrstic, ne pa zaslonov. Ukaz C-u
8 C-v, na primer, premakne zaslon navzgor za 8 vrstic.
>> Poskusite zdaj C-u 8 C-v
To bi moralo zaslon premakniti navzgor za osem vrstic. Èe bi ga radi
premaknili nazaj, poskusite M-v z istim argumentom.
Èe uporabljate grafièni vmesnik, denimo X11 ali MS Windows, imate
verjetno ob levem robu Emacsovega okna navpièno pravokotno ploskev,
imenovano drsnik. Pogled na besedilo lahko premikate tudi tako, da z
mi¹ko kliknete na drsnik.
>> Postavite kazalec na vrh oznaèenega obmoèja na drsniku in pritisnite
srednji gumb na mi¹ki. To bi moralo premakniti besedilo na mesto,
doloèeno s tem, kako visoko ali nizko na drsnik ste kliknili.
>> Medtem ko dr¾ite srednji gumb pritisnjen, premikajte mi¹ko gor in
dol. Vidite, kako se premika besedilo v Emacsovem oknu, ko
premikate mi¹ko?
* ÈE SE EMACS OBESI
-------------------
Èe se Emacs preneha odzivati na va¹e ukaze, ga lahko varno prekinete z
ukazom C-g. Z njim lahko prekinete ukaze, za katere bi trajalo
predolgo, da bi se izvedli.
Isti ukaz, C-g, lahko uporabite tudi, da preklièete ¹tevilèni
argument, ali pa zaèetek ukaza, ki ga ne ¾elite izvesti.
>> Vtipkajte C-u 100, s èimer ste izbrali ¹tevilèni argument 100,
zatem pa vtipkajte C-g. Vtipkajte zdaj C-f. Kazalèek se je
premaknil le za en znak, ker ste ¹tevilèni argument vmes preklicali
s C-g.
Tudi èe ste po nesreèi vtipkali <ESC>, se ga lahko znebite s C-g.
* ONEMOGOÈENI UKAZI
-------------------
Nekaj ukazov v Emacsu je namenoma ,,onemogoèenih``, da bi jih
zaèetniki ne izvedli po nesreèi.
Èe vtipkate tak onemogoèen ukaz, se bo na zaslonu pojavilo novo okno z
obvestilom, kateri ukaz ste sku¹ali izvesti, in vas vpra¹alo, èe ga
res ¾elite izvesti.
Èe v resnici ¾elite poskusiti ukaz, pritisnite preslednico kot odgovor
na vpra¹anje. Normalno verjetno ukaza ne ¾elite izvesti, zato na
vpra¹anje odgovorite z ,n`.
>> Vtipkajte C-x C-l (ki je onemogoèen ukaz),
zatem na vpra¹anje odgovorite n.
* OKNA
------
Emacs lahko prika¾e veè oken in v vsakem svoje besedilo. Kasneje bomo
razlo¾ili, kako uporabljamo veè oken hkrati. Zaenkrat bomo povedali
le, kako se znebite dodatnih oken, ki jih lahko odpre vgrajena pomoè ali
pa izpis kak¹nega drugega programa. Preprosto je:
C-x 1 Eno okno (torej, zaprimo vsa ostala).
To je CONTROL-x, ki mu sledi ¹tevka 1. Ukaz C-x 1 raztegne èez cel
zaslon okno, v katerem se nahaja kazalèek, ostala pa zapre.
>> Premaknite kazalèek do te vrstice in vtipkajte C-u 0 C-l
>> Vtipkajte CONTROL-h k CONTROL-f.
Vidite, kako se je to okno skrèilo in odstopilo prostor oknu,
ki pojasnjuje ukaz CONTROL-f?
>> Vtipkajte C-x 1 in spodnje okno se bo zaprlo.
Za razliko od ukazov, ki smo se jih nauèili do zdaj, je ta ukaz
sestavljen iz dveh znakov. Zaène se z znakom CONTROL-x. Cela vrsta
ukazov se zaène enako, in mnogi od njih zadevajo delo z datotekami,
delovnimi podroèji in podobnim. Vsem tem ukazom je skupno, da se
zaènejo s CONTROL-x, ki mu sledi ¹e en, dva ali trije znaki.
* VRIVANJE IN BRISANJE
----------------------
Èe ¾elite v obstojeèe besedilo vriniti novo, preprosto premaknite
kazalèek na ¾eljeno mesto in zaènite tipkati. Znake, ki jih lahko
vidite, na primer A, 7, * in podobno, razume Emacs kot del besedila in
jih takoj vrine. S pritiskom na Return (ali Enter) vrinete znak za
skok v novo vrstico.
Zadnji vtipkani znak lahko izbri¹ete s pritiskom na tipko
<Delback>. To je tista tipka na tipkovnici, ki jo navadno uporabljate
za brisanje nazadnje natipkanega znaka. Navadno je to velika tipka
vrstico ali dve nad tipko <Return>, ki je oznaèena z "Backspace",
"Delete" ali "Del".
Èe imate na tipkovnici tipko "Backspace", je to tipka <Delback>. Naj
vas ne zmede, èe imate poleg tega ¹e tipko "Delete" - <Delback> je
"Backspace".
Splo¹no <Delback> pobri¹e znak neposredno pred trenutnim polo¾ajem
kazalèka.
>> Vtipkajte zdaj nekaj znakov in jih zatem s tipko <Delback> pobri¹ite.
Niè naj vas ne skrbi, èe se je ta vrstica spremenila. Izvirnika
tega uèbenika ne boste pokvarili -- tole je samo va¹a osebna kopija.
Ko vrstica postane predolga za zaslon, se ,,nadaljuje`` v naslednji
vrstici na zaslonu. Obrnjena po¹evnica (znak ,\`) ali v grafiènih
okoljih zavita pu¹èica ob desnem robu oznaèuje vrstico, ki se
nadaljuje v naslednji zaslonski vrstici.
>> Zdaj zaènite tipkati besedilo, dokler ne dose¾ete desnega roba, in
¹e naprej. Opazili boste, da se pojavi znak za nadaljevanje.
>> S tipko <Delback> pobri¹ite toliko znakov, da vrstica ne sega
veè èez ¹irino zaslona. Znak za nadaljevanje v naslednji
vrstici je izginil.
Znak za novo vrstico lahko pobri¹emo enako kot vsak drug znak. S tem,
ko pobri¹emo znak za novo vrstico, zdru¾imo vrstici v eno samo. Èe bo
nova vrstica predolga, da bi cela pri¹la na zaslon, bo razdeljena v
veè zaslonskih vrstic.
>> Premaknite kazalèek na zaèetek vrstice in pritisnite <Delback>. To
zdru¾i vrstico s prej¹njo.
>> Pritisnite <Return>. S tem ste ponovno vrinili znak za skok v novo
vrstico, ki ste ga malo prej zbrisali.
Spomnimo se, da lahko za veèino ukazov v Emacsu doloèimo, naj se
izvedejo veèkrat zaporedoma; to vkljuèuje tudi vnos teksta. Ponovitev
obièajnega znaka ga veèkrat vrine v besedilo.
>> Poskusite zdaj tole: da vnesete osem zvezdic, vtipkajte C-u 8 *
Zdaj ste se nauèili najpreprostej¹i naèin, da v Emacsu nekaj natipkate
in popravite. Bri¹ete lahko tudi besede ali vrstice. Tu je povzetek
ukazov za brisanje:
<Delback> pobri¹e znak tik pred kazalèkom (levo od
oznake za kazalèek)
C-d pobri¹e znak tik za kazalèkom (,pod` oznako
za kazalèek)
M-<Delback> pobri¹e besedo tik pred kazalèkom
M-d pobri¹e besedo tik za kazalèkom
C-k zavr¾e besedilo desno od kazalèka do konca vrstice
M-k zavr¾e besedilo od polo¾aja kazalèka do konca stavka
Èrka ,d` je iz angle¹ke besede ,delete` (pobrisati), èrka ,k` pa iz
besede ,kill` (pobiti). Ste opazili, da <Delback> in C-d na eni, ter
M-<Delback> in M-d na drugi strani nadaljujeta paralelo, ki sta jo zaèela
C-f in M-f (<Delback> pravzaprav ni kontrolni znak, kar pa naj nas ne
moti). C-k in M-k sta v enakem sorodu s C-e in M-e: prvi deluje na
vrstice, drugi na stavke.
Obstaja tudi splo¹en postopek za brisanje kateregakoli dela delovnega
podroèja. Kazalèek postavimo na en konec podroèja, ki ga ¾elimo
izbrisati, in pritisnemo C-@ ali C-SPC (SPC je
preslednica). Katerikoli od obeh ukazov deluje. Premaknite kazalèek na
drug konec podroèja, ki ga ¾elite izbrisati, in pritisnite C-w. S tem
ste zavrgli vse besedilo med obema mejama.
>> Premaknite kazalèek na èrko O, s katero se zaèenja prej¹nji
odstavek.
>> Vtipkajte C-SPC. Emacs prika¾e sporoèilo "Mark set" (slov. Oznaka
postavljena) na dnu ekrana.
>> Premaknite kazalèek na èrko V v "postavimo" v drugi vrstici istega
odstavka.
>> Vtipkajte C-w. S tem zavr¾emo vse besedilo zaèen¹i z O in vse do
èrke V.
Razlika med tem, èe zavr¾ete cel odstavek besedila (angl. ,,kill``,
pobiti) ali pa èe pobri¹ete znak (angl. ,,delete``), je ta, da lahko
prvega vrnete nazaj z ukazom C-y, drugega pa ne. Na splo¹no ukazi, ki
lahko povzroèijo veliko ¹kode (pobri¹ejo veliko besedila), shranijo
pobrisano besedilo; tisti, ki pobri¹ejo samo posamezni znak, ali samo
prazne vrstice in presledke, pa ne.
>> Postavite kazalèek na zaèetek neprazne vrstice. Pritisnite C-k, da
pobri¹ete vsebino vrstice.
>> ©e enkrat pritisnite C-k. To pobri¹e ¹e znak za novo vrstico.
Ste opazili, da prvi C-k pobri¹e vsebino vrstice, naslednji C-k pa ¹e
vrstici samo, s èimer se vse besedilo pod biv¹o vrstico premakne za
eno vrstico navzgor? Ukaz C-k obravnava ¹tevilèni argument malo
drugaèe: pobri¹e toliko in toliko vrstic z vsebinami vred. To ni zgolj
ponovitev. C-u 2 C-k pobri¹e dve polni vrstici besedila, kar je nekaj
drugega, kot èe dvakrat vtipkate C-k.
Besedilo, ki ste ga prej pobili, lahko povrnete (angl. ,,yank`` --
potegniti). Predstavljajte si, kot da potegnete nazaj nekaj, kar vam
je nekdo odnesel. Pobito besedilo lahko potegnete nazaj na isti ali pa
na kak¹en drug kraj v besedilu, ali pa celo v kaki drugi
datoteki. Isto besedilo lahko veèkrat potegnete nazaj, tako da je v
delovnem podroèju poveèterjeno.
Ukaz za vraèanje pobitega besedila je C-y.
>> Poskusite z ukazom C-y povrniti pobrisano besedilo.
Èe ste uporabili veè zaporednih ukazov C-k, je vse pobrisano besedilo
shranjeno skupaj, in en sam C-y bo vrnil vse tako pobrisane vrstice.
>> Poskusite, nekajkrat vtipkajte C-k.
Zdaj pa vrnimo pobrisano besedilo:
>> Vtipkajte C-y. Zdaj pa premaknite kazalèek za nekaj vrstic navzdol
in ¹e enkrat vtipkajte C-y. Vidite zdaj, kako se kopira dele
besedila?
Kaj pa, èe ste pobrisali nekaj besedila, ki bi ga radi vrnili, vendar
ste za iskanim odlomkom pobrisali ¹e nekaj? C-y vrne samo nazadnje
pobrisan odlomek. Vendar tudi prej¹nje besedilo ni izgubljeno. Do
njega lahko pridete z ukazom M-y. Ko ste vrnili nazadnje zbrisano
besedilo s C-y, pritisnite M-y, ki ga zamenja s predzanje pobrisanim
besedilom. Vsak naslednji M-y prika¾e ¹e eno prej. Ko ste konèno
pri¹li do iskanega besedila, ni treba napraviti niè posebnega, da bi
ga obdr¾ali. Preprosto nadaljujte z urejanjem, in vrnjeno besedilo bo
ostalo, kamor ste ga odlo¾ili.
Èe pritisnete M-y dovolj velikokrat, se boste vrnili na zaèete, torej
spet na zadnje pobrisano besedilo.
>> Pobri¹ite vrstico, premaknite se nekam drugam, in pobri¹ite ¹e
eno vrstico.
Z ukazom C-y dobite nazaj to drugo vrstico.
Z ukazom M-y pa jo zamenjate s prvo vrstico.
Ponovite ukaz M-y ¹e nekajkrat in si oglejte, kaj dobite na
zaslon. Ponavljajte ga, dokler se ne prika¾e ponovno nazadnje
pobrisana vrstica, in ¹e naprej. Èe ¾elite, lahko tudi ukazu
M-y podate pozitivno ali negativno ¹tevilo ponovitev.
* PREKLIC UKAZA (UNDO)
----------------------
Èe ste besedilo spremenili, a ste se kasneje premislili, lahko
besedilo vrnete v prvotno stanje z ukazom Undo, C-x u. Normalno vrne
C-x u zadnjo spremembo besedila; èe ukaz ponovimo, preklièemo ¹e
predzadnjo spremembo, in vsaka nadaljnja ponovitev se¾e ¹e eno
spremembo globlje v zgodovino.
Emacs hrani bolj ali manj celotno zgodovino na¹ih ukazov, z dvema
izjemama: ukazov, ki niso napravili nobene spremembe v besedilu
(npr. premik kazalèka), ne shranjuje, in zaporedje do 20 vrinjenih
znakov shrani kot en sam ukaz. Slednje prihrani nekaj ukazov C-x u, ki
bi jih morali vtipkati.
>> Pobri¹ite to vrstico z ukazom C-k, potem jo priklièite nazaj s C-x u.
C-_ je alternativni ukaz za preklic zadnjega ukaza. Deluje enako kot
s C-x u, ga je pa la¾je odtipkati, èe morate ukaz ponoviti veèkrat
zaporedoma. Te¾ava z ukazom C-_ je, da na nekaterih tipkovnicah ni
povsem oèitno, kako ga vtipkati, zato je podvojen ¹e kot C-x u. Na
nekaterih terminalih moramo na primer vtipkati /, medtem ko dr¾imo
pritisnjeno tipko CONTROL.
Èe podamo ukazu C-_ ali C-x u numerièni argument, je to enako, kot èe
bi ukaz roèno ponovili tolikokrat, kot pravi argument.
Ukaz za brisanje besedila lahko preklièete in besedilo povrnete,
enako, kot èe bi besedilo pobili. Razlika med brisanjem in pobijanjem
besedila je le ta, da le slednje lahko potegnete nazaj z ukazom
C-y. Preklic ukaza pa velja za eno in drugo.
* DATOTEKE
----------
Da bi bile spremembe v besedilu trajne, morate besedilo shraniti v
datoteko. V nasprotnem primeru jih boste za vedno izgubili tisti hip,
ko boste zapustili Emacs. Besedilo postavimo v datoteko tako, da
na disku ,,poi¹èemo`` (angl. find) datoteko, preden zaènemo tipkati
(pravimo tudi, da ,,obi¹èemo`` datoteko).
Poiskati datoteko pomeni, da v Emacsu vidimo vsebino datoteke. To je
bolj ali manj tako, kot da z Emacsom urejamo datoteko samo. Vendar pa
spremembe ne postanejo trajne, dokler datoteke ne shranimo
(angl. save) na disk. Tako imamo mo¾nost, da se izognemo temu, da bi
nam na pol spremenjene datoteke le¾ale po disku, kadar tega ne
¾elimo. Ker pa Emacs ohrani izvorno datoteko pod spremenjenim imenom,
lahko prvotno datoteko priklièemo nazaj celo ¹e potem, ko smo datoteko
¾e shranili na disk.
V predzadnji vrstici na dnu zaslona vidite vrstico, ki se zaène in
konèa z vezaji, in vsebuje niz znakov ,,--:-- TUTORIAL``. Ta del
zaslona navadno vsebuje ime datoteke, ki smo jo obiskali. Zdajle je to
,,TUTORIAL``, va¹a delovna kopija uèbenika Emacsa. Ko boste poiskali
kak¹no drugo datoteko, bo na tem mestu pisalo njeno ime.
Posebnost ukaza za iskanje datoteke je, da moramo povedati, katero
datoteko i¹èemo. Pravimo, da ukaz ,,prebere argument s terminala`` (v
tem primeru je argument ime datoteke). Ko vtipkate ukaz
C-x C-f (poi¹èi datoteko)
vas Emacs povpra¹a po imenu datoteke. Kar vtipkate, se sproti vidi v
vrstici na dnu zaslona. Temu delovnemu podroèju pravimo pogovorni
vmesnik (minibuffer), kadar se uporablja za tovrstni vnos. Znotraj
pogovornega vmesnika lahko uporabljate obièajne ukaze za urejanje, èe
ste se na primer pri tipkanju zmotili.
Sredi tipkanja imena datoteke (ali katerega koli drugega opravila v
pogovornem vmesniku) lahko ukaz preklièete s C-g.
>> Vtipkajte C-x C-f, zatem pa ¹e C-g. Zadnji ukaz od treh je
zaprl pogovorni vmesnik in tudi preklical ukaz C-x C-f, ki je
uporabljal pogovorni vmesnik. Konec z iskanjem datoteke.
Ko ste dokonèali ime, ga vnesete s pritiskom na <Return>. S tem se
po¾ene ukaz C-x C-f in poi¹èe iskano datoteko. Pogovorni vmesnik
izgine, ko je ukaz izveden.
Trenutek kasneje se vsebina datoteke pojavi na zaslonu. Zdaj lahko
dopolnjujete, urejate ali kako drugaèe spreminjate vsebino. Ko ¾elite,
da ostanejo spremembe trajne, izvedete ukaz:
C-x C-s (shrani datoteko)
Besedilo se s tem shrani iz pomnilnika raèunalnika na datoteko na
disk. Ko prviè izvedete ta ukaz, se izvorna datoteka preimenuje, tako
da ni izgubljena. Najdete jo pod novim imenom, ki se od starega
razlikuje po tem, da ima na koncu pripet znak ,,~``.
Ko je Emacs shranil datoteko, izpi¹e njeno ime. Shranjujte raje
pogosteje kot ne, da v primeru, èe gre z raèunalnikom kaj narobe, ne
izgubite veliko.
>> Vtipkajte C-x C-s, s èimer boste shranili svojo kopijo tega
uèbenika. Emacs bo v vrstici na dnu zaslona izpisal ,,Wrote
...TUTORIAL``.
Opozorilo: na nekaterih sistemih bo ukaz C-x C-s zamrznil zaslon, in
tako ne boste videli, da Emacs ¹e kaj izpi¹e. To je znak, da je
operacijski sistem prestregel znak C-s in ga interpretiral kot znak za
prekinitev toka podatkov, namesto da bi ga posredoval Emacsu. Zaslon
,,odmrznete`` z ukazom C-q. Èe je va¹ sistem eden takih, si za nasvet,
kako re¹iti to nev¹eènost, oglejte razdelek ,,Spontaneous Entry to
Incremental Search`` v priroèniku za Emacs.
Poi¹èete lahko lahko ¾e obstojeèo datoteko, da si jo ogledate ali
popravite, ali pa tudi datoteko, ki ¹e ne obstaja. To je naèin, kako z
Emacsom ustvarimo novo datoteko: poi¹èite datoteko z izbranim imenom,
ki bo sprva prazna, in zaènite pisati. Ko jo boste prviè shranili, bo
Emacs ustvaril datoteko z vne¹enim besedilom. Od tod dalje delate na
¾e obstojeèi datoteki.
* DELOVNA PODROÈJA
------------------
Tudi èe ste z ukazom C-x C-f poiskali in odprli drugo datoteko, prva
ostane v Emacsu. Nanjo se vrnete tako, da jo ¹e enkrat ,,poi¹èete`` z
ukazom C-x C-f. Tako imate lahko v Emacsu hkrati kar precej datotek.
>> Ustvarite datoteko z imenom ,,bla`` tako, da vtipkate C-x C-f
bla <Return>. Natipkajte nekaj besedila, ga po potrebi popravite, in
shranite v datoteko ,,bla`` z ukazom C-x C-s. Ko ste konèali, se
vrnite v uèbenik z ukazom C-x C-f TUTORIAL <Return>.
Emacs hrani besedilo vsake datoteke v takoimenovanem ,,delovnem
podroèju`` (angl. buffer). Ko poi¹èemo datoteko, Emacs ustvari zanjo
novo delovno podroèje. Vsa obstojeèa delovna podroèja v Emacsu vidimo
z ukazom:
C-x C-b Seznam delovnih podroèij.
>> Poskusite C-x C-b zdaj.
Vidite, da ima vsako delovno podroèje svoje ime, pri nekaterih pa pi¹e
tudi ime datoteke, katere vsebina se hrani v njem. Vsako besedilo, ki
ga vidite v katerem od Emacsovih oken, je vedno del kak¹nega delovnega
podroèja.
>> Z ukazom C-x 1 se znebite seznama delovnih podroèij.
Tudi èe imate veè delovnih podroèij, pa je vedno le eno od njih
trenutno dejavno. To je tisto delovno podroèje, ki ga popravljate. Èe
¾elite popravljati drugo delovno podroèje, morate ,,preklopiti``
nanj. Èe bi radi preklopili na delovno podroèje, ki pripada kak¹ni
datoteki, ¾e poznate en naèin, kako to storiti: ponovno ,,obi¹èete``
(odprete) to datoteko z ukazom C-x C-f. Obstaja pa ¹e la¾ji naèin: z
ukazom C-x b. Pri tem ukazu morate navesti ime delovnega podroèja.
>> Vtipkajte C-x b bla <Return>, s èimer se vrnete v delovno podroèje
,,bla`` z vsebino datoteke ,,bla``, ki ste jo maloprej
odprli. Zatem vtipkajte C-x b TUTORIAL <RETURN>, s èimer se vrnete
nazaj v ta uèbenik.
Veèinoma se ime delovnega podroèja kar ujema z imenom datoteke (brez
poti do datoteke), ne pa vedno. Seznam delovnih podroèij, ki ga
prika¾e ukaz C-x C-b, prika¾e imena vseh delovnih podroèij.
Vsako besedilo, ki ga vidite v katerem od Emacsovih oken, je vedno del
kak¹nega delovnega podroèja. Nekatera delovna podroèja ne pripadajo
nobeni datoteki. Podroèje ,,*Buffer List*``, na primer, je ¾e eno
takih. To delovno podroèje smo ustvarili ravnokar, ko smo pognali ukaz
C-x C-b, in vsebuje seznam delovnih podroèij. Tudi delovno podroèje
,,Messages`` ne pripada nobeni datoteki, ampak vsebuje sporoèila, ki
jih je Emacs izpisoval v odzivnem podroèju na dnu zaslona.
>> Vtipkajte C-x b *Messages* <Return> in si oglejte delovno podroèje
s sporoèili, zatem pa vtipkajte C-x b TUTORIAL <Return> in se tako
vrnite v uèbenik.
Èe ste spreminjali besedilo ene datoteke, potem pa poiskali drugo, to
ne shrani spremeb v prvo datoteko. Te ostanejo znotraj Emacsa, na
delovnem podroèju, ki pripada prvi datoteki. Ustvarjenje ali
spreminjanje delovnega podroèja druge datoteke nima nobenega vpliva na
podroèje prve. To je zelo uporabno, pomeni pa tudi, da potrebujemo
udobno pot, da shranimo delovno podroèje prve datoteke. Nerodno bi
bilo preklapljanje na prvo podroèje s C-x C-f, da bi shranili s C-x
C-s. Namesto tega imamo:
C-x s Shrani nekatera delovna podroèja
Ukaz C-x poi¹èe delovna podroèja, katerih vsebina je bila spremenjena,
odkar je bila zadnjiè shranjena na datoteko. Za vsako tako delovno
podroèje C-x s vpra¹a, èe ga ¾elite shraniti.
* RAZ©IRJEN NABOR UKAZOV
------------------------
©e mnogo, mnogo je ukazov Emacsa, ki bi zaslu¾ili, da jih obesimo na
razne kontrolne in meta znake. Emacs se temu izogne z ukazom X (iz angl.
eXtend - raz¹iriti), ki uvede ukaz iz raz¹irjenega nabora. Dveh vrst je:
C-x Znakovna raz¹iritev (angl. Character eXtend).
Sledi mu en sam znak.
M-x Raz¹iritev s poimenovanim ukazom. Sledi mu dolgo ime
ukaza.
Tudi ti ukazi so na splo¹no uporabni, ne uporabljamo pa jih tako
pogosto kot tiste, ki ste se jih ¾e nauèili. Dva ukaza iz raz¹irjenega
nabora ¾e poznamo: C-x C-f, s katerim poi¹èemo datoteko, in C-x C-s, s
katerim datoteko shranimo. ©e en primer je ukaz, s katerim Emacsu
povemo, da ¾elimo konèati z delom iz iziti iz Emacsa. Ta ukaz je C-x
C-c (ne skrbite: preden konèa, Emacs ponudi, da shrani vse spremenjene
datoteke).
Z ukazom C-z Emacs zapustimo samo *zaèasno*, tako da lahko ob vrnitvi
nadaljujemo z delom, kjer smo ostali.
Na sistemih, ki to dopu¹èajo, ukaz C-z izide iz Emacsa v ukazno
lupino, a ga ne konèa - èe uporabljate ukazno lupino C, se lahko
vrnete z ukazom ,fg` ali splo¹neje z ukazom ,,%emacs``.
Drugod ukaz C-z po¾ene sekundarno ukazno lupino, tako da lahko
po¾enete kak¹en drug program in se kasneje vrnete v Emacs. V tem
primeru pravzaprav Emacsa ne zapustimo. Ukaz ,,exit`` v ukazni lupini
je navadno naèin, da zapremo sekundarno lupino in se vrnemo v Emacs.
Ukaz C-x C-c uporabimo, èe se nameravamo odjaviti s sistema. To je
tudi pravilen naèin za izhod iz Emacsa, èe je tega pognal program za
delo s po¹to ali kak drug program, saj ta verjetno ne ve, kaj
napraviti z zaèasno prekinjenim Emacsom. V vseh ostalih primerih pa,
èe se ne nameravate odjaviti s sistema, uporabite C-z, in se vrnite v
Emacs, ko bi radi spet urejali besedilo.
Ukazov C-x je veliko. Zaenkrat smo spoznali naslednje:
C-x C-f Poi¹èi datoteko.
C-x C-s Shrani datoteko.
C-x C-b Prika¾i seznam delovnih podroèij.
C-x C-c Konèaj Emacs.
C-x 1 Zapri vsa okna razen enega.
C-x u Preklic zadnjega ukaza.
Poimenovani raz¹irjeni ukazi so ukazi, ki se uporabljajo ¹e bolj
poredko, ali pa se uporabljajo samo v nekaterih naèinih dela. Eden
takih je na primer ukaz replace-string, ki po vsem besedilu zamenja en
niz znakov z drugim. Ko vtipkate M-x, se to izpi¹e v pogovornem
vmesniku na dnu zaslona, Emacs pa èaka, da vtipkate ime ukaza, ki ga
¾elite priklicati; v tem primeru je to ,,replace-string``. Vtipkajte
samo ,,repl s<TAB>`` in Emacs bo dopolnil ime (<TAB> je tabulatorska
tipka; navadno jo najdemo nad tipko Caps Lock ali Shift na levi strani
tipkovnice). Ukaz vnesete s pritiskom na <Return>.
Ukaz replace-string potrebuje dva argumenta -- niz, ki ga ¾elite
zamenjati, in niz, s katerim bi radi zamenjali prvega. Vsakega posebej
vnesete in zakljuèite s pritiskom na tipko Return.
>> Premaknite kazalèek na prazno vrstico dve vrstici pod to, zatem
vtipkajte M-x repl s<Return>zamenjala<Return>spremenila<Return>.
Opazite, kako se je ta vrstica zamenjala? Vse besede
z-a-m-e-n-j-a-l-a od tod do konca besedila ste nadomestili z besedo
,,spremenila``.
* AVTOMATIÈNO SHRANJEVANJE
--------------------------
Spremembe v datoteki, ki jih ¹e niste shranili na disk, so izgubljene,
èe medtem denimo zmanjka elektrike. Da bi vas zavaroval pred tem,
Emacs periodièno avtomatièno shrani vse datoteke, ki jih
urejate. Avtomatièno shranjena datoteka se od izvorne razlikuje po
znaku ,#` na zaèetku in koncu imena: èe se je va¹a datoteka imenovala
,,hello.c``, se avtomatièno shranjena datoteka imenuje
,,#hello.c#``. Ko normalno shranite datoteko, avtomatièno shranjena
datoteka ni veè potrebna, in Emacs jo pobri¹e.
Èe res pride do izgube podatkov v pomnilniku, lahko povrnete avtomatièno
shranjeno besedilo tako, da normalno poi¹èete datoteko (pravo ime
datoteke, ne ime avtomatièno shranjene datoteke), zatem pa vtipkate M-x
recover file<Return>. Ko vas vpra¹a za potrditev, vtipkajte yes<Return>
za nadaljevanje in povrnitev avtomatièno shranjenenih podatkov.
* ODZIVNO PODROÈJE
------------------
Kadar Emacs opazi, da poèasi vtipkavate ukaz, odpre v zadnji vrstici
na dnu zaslona odzivno podroèje in v njem sproti prikazuje natipkano.
* STATUSNA VRSTICA
------------------
Vrstica nad odzivnim podroèjem je statusna vrstica. Ta ka¾e verjetno
nekaj podobnega kot:
--:** TUTORIAL (Fundamental)--L670--58%----------------------
V njej so izpisani pomembni podatki o stanju Emacsa in besedilu, ki ga
urejate.
Zdaj ¾e veste, kaj pomeni ime datoteke -- to je datoteka, ki ste jo
poiskali. Oznaka --NN%-- pomeni, da je nad vrhom zaslona ¹e NN
odstotkov celotne datoteke. Èe je zaèetek datoteke na zaslonu, bo
namesto --00%-- pisalo --Top--. Podobno bo pisalo --Bot--, èe je
zadnja vrstica datoteke na zaslonu. Èe je datoteka, ki jo ogledujete,
tako kratka, da gre vsa na en zaslon, pa bo pisalo --All--.
Èrka L in ¹tevilke za njo ka¾ejo polo¾aj ¹e drugaèe, kot zaporedno
¹tevilko vrstice, v kateri je kazalèek.
Zvezdice na zaèetku vrstice pomenijo, da ste datoteko ¾e spreminjali.
Tik po tem, ko ste odprli ali shranili datoteko, ni nobenih zvezdic,
so samo èrtice.
Del statusne vrstice znotraj oklepajev vam pove, v kak¹nem naèinu dela
Emacs. Privzeti naèin je osnovni naèin (Fundamental), v katerem ste
sedaj. Fundamental je eden od glavnih naèinov (angl. major
mode). Emacs pozna veliko razliènih glavnih naèinov. Nekateri od njih
so namenjeni pisanju programov, kot na primer Lisp, ali pisanju
besedil, kot npr. Text. Naenkrat je lahko aktiven le en glavni naèin,
njegovo ime pa je vedno izpisano v statusni vrstici, kjer zdaj pi¹e
Fundamental.
Glavni naèini lahko spremenijo pomen nekaterim ukazom. Obstajajo,
denimo, ukazi za pisanje komentarjev v programu, in ker ima vsak
programski jezik svoje predstave o tem, kako mora komentar izgledati,
mora vsak glavni naèin vnesti komentarje drugaèe. Ker je vsak glavni
naèin ime raz¹irjenega ukaza, lahko tako tudi izbiramo glavni
naèin. Na primer, M-x fundamental-mode vas postavi v naèin
Fundamental.
Èe nameravate popravljati slovensko (ali angle¹ko) besedilo, kot je na
primer tole, boste verjetno izbrali tekstovni naèin (Text).
>> Vtipkajte M-x text mode<Return>.
Brez skrbi, noben od ukazov Emacsa, ki ste se jih nauèili, se s tem ne
spremeni kaj dosti. Lahko pa opazite, da Emacs zdaj jemlje opu¹èaje za
dele besed, ko se premikate z M-f ali M-b. V osnovnem naèinu jih je
obravnaval kot meje med besedami.
Glavni naèini navadno poèenjajo majhne spremembe, kot je ta: veèina
ukazov ,,opravi isti posel``, vendar pa to poènejo na razlièen naèin.
Dokumentacijo o trenutno aktivnem glavnem naèinu dobite z ukazom C-h m.
>> Uporabite C-u C-v enkrat ali veèkrat, toliko, da bo ta vrstica blizu
vrha zaslona.
>> Vtipkajte C-h m, da vidite, v èem se tekstovni naèin (Text) razlikuje
od osnovnega (Fundamental).
>> Vtipkajte C-x 1, da umaknete dokumentacijo z zaslona.
Glavnim naèinom pravimo glavni naèini zato, ker obstajajo tudi
podnaèini (angl. minor modes). Podnaèini ne nadome¹èajo glavnih
naèinom, ampak le spreminjajo njihovo obna¹anje. Podnaèine lahko
aktiviramo ali deaktiviramo neodvisno od glavnega naèina in neodvisno
od ostalih podnaèinov. Tako lahko ne uporabljate nobenega podnaèina,
en podnaèin, ali kombinacijo veèih podnaèinov.
Podnaèin, ki je zelo uporaben posebno za pisanje besedil, je Auto
Fill. Ko je vklopljen, Emacs med pisanjem avtomatièno deli vrstice na
presledkih med besedami, tako da vrstice niso predolge.
Vklopite ga lahko z ukazom M-x auto fill mode<Return>. Ko je
vklopljen, ga lahko izklopite z istim ukazom, M-x
auto fill mode<Return>. Z istim ukazom torej preklapljamo
(angl. toggle) med vklopljenim in izklopljenim stanjem.
>> Vtipkajte zdaj M-x auto fill mode<Return>. Potem zaènite tipkati
"asdf asdkl sdjf sdjkf"... dokler ne opazite, da je Emacs razbil
vrstico na dve. Med tipkanjem mora biti dovolj presledkov, saj
Auto Fill prelamlja vrstice samo na presledkih.
©irina besedila je navadno postavljena na 70 znakov, kar pa lahko
spremenite z ukazom C-x f. Novo ¹irino morate podati kot ¹tevilèni
argument.
>> Vtipkajte C-x f in argument 20. (C-u 2 0 C-x f). Zatem vtipkajte
nekaj besedila in poglejte, èe bo Emacs res delil vrstice pri 20
znakih. Potem z ukazom C-x f postavite mejo nazaj na 70.
Auto Fill deluje le, kadar pi¹ete novo besedilo, ne pa,
kadar popravljate ¾e napisan odstavek.
Tak odstavek lahko poravnate tako, da kazalèek premaknete nekam
znotraj odstavka in uka¾ete M-q (META-q).
>> Premaknite kazalèek v prej¹nji odstavek in izvedite M-q.
* ISKANJE
---------
Emacs lahko v besedilu poi¹èe niz znakov (zaporedje znakov ali besed),
naprej ali nazaj po besedilu. Iskanje spada v skupino ukazov za
premikanje kazalèka, saj premakne kazalèek na kraj v besedilu, kjer je
na¹el iskani niz.
Iskanje v Emacsu je morda nekoliko drugaèno od tistega, ki ste ga
navajeni, in sicer je ,,inkrementalno``. To pomeni, da se iskanje
odvija hkrati s tem, ko tipkate iskani niz.
Ukaza za iskanje sta C-s za iskanje naprej po datoteki in C-r za
iskanje nazaj po datoteki. POÈAKAJTE! Ne preizku¹ajte jih ¹e ta hip!
Ko boste natipkali C-s, boste opazili niz ,,I-search`` kot pozivnik
v pogovornem vmesniku. To vam pove, da je Emacs v inkrementalnem iskanju
in vas èaka, da zaènete tipkati, kar i¹èete. <Return> zakljuèi iskanje.
>> Pritisnite zdaj C-s. POÈASI, èrko za èrko, vtipkajte besedo
,,kazalèek``. Za vsako vtipkano èrko se ustavite in si oglejte, kaj
se je zgodilo s kazalèkom.
>> ©e enkrat pritisnite C-s, da poi¹èete naslednji ,,kazalèek``.
>> ©estkrat pritisnite <Delback> in opazujte, kako se premika kazalèek.
>> Konèajte iskanje s tipko <Return>.
Ste videli, kaj se je zgodilo? Emacs pri inkrementalnem iskanju sku¹a
poiskati niz, ki ste ga natipkali do tistega hipa. Da poi¹èete
naslednje mesto, kjer se pojavi ,,kazalèek``, samo ¹e enkrat
pritisnete C-s. Èe takega mesta ni, Emacs èivkne in vam sporoèi, da
iskanje ni uspelo. Tudi C-g prekine iskanje.
OPOZORILO: Na nekaterih sistemih bo s pritiskom na C-s ekran
zmrznil. To je znak, da je operacijski sistem prestregel znak C-s in
ga interpretiral kot znak za prekinitev toka podatkov, namesto da bi
ga posredoval programu Emacs. Ekran ,,odtajate`` s pritiskom na
C-q. Potem si oglejte razdelek ,,Spontaneous Entry to Incremental
Search`` v priroèniku za nasvet, kako se spopasti s to nev¹eènostjo.
Èe sredi inkrementalnega iskanja pritisnete <Delback>, boste opazili,
da to pobri¹e zadnji znak v iskanem nizu, kazalèek pa se premakne
nazaj na mesto v besedilu, kjer je na¹el kraj¹i niz. Na primer,
predpostavimo, da ste do zdaj natipkali ,,ka`` in je kazalèek na
mestu, kjer se prviè pojavi ,,ka``. Èe zdaj pritisnete <Delback>, boste
s tem v pogovornem vmesniku izbrisali ,a`, hkrati pa se bo kazalèek
postavil na mesto, kjer je prviè na¹el ,k`, preden ste natipkali ¹e
,a`.
Èe sredi iskanja vtipkate katerikoli kontrolni znaki ali metaznak
(razen tistih, ki imajo poseben pomen pri iskanju, to sta C-s in C-r),
se iskanje prekine.
C-s zaène iskati na mestu v datoteki, kjer trenutno stoji kazalèek, in
i¹èe do konca datoteke. Èe bi radi iskali proti zaèetku datoteke,
namesto C-s vtipkamo C-r. Vse, kar smo povedali o ukazu C-s, velja
tudi za C-r, le smer iskanja je obrnjena.
* VEÈ OKEN NA ZASLONU
---------------------
Ena simpatiènih lastnosti Emacsa je, da zna hkrati prikazati veè oken
na ekranu, tudi èe ne delamo v grafiènem naèinu.
>> Premaknite kazalèek v to vrstico in vtipkajte C-u 0 C-l (zadnji
znak je CONTROL-L, ne CONTROL-1)
>> Zdaj vtipkajte C-x 2, da razdelite zaslon na dve okni.
V obeh oknih imate odprt ta priroènik. Kazalèek je ostal v zgornjem
oknu.
>> Pritisnite C-M-v za listanje v spodnjem oknu.
(Èe nimate tipke META, tipkajte ESC C-v).
>> Vtipkajte C-x o (o kot ,,other``, drugi), da preselite kazalèek v
spodnje okno.
>> S C-v in M-v se v spodnjem oknu premikate po vsebini datoteke.
Zgornje okno ¹e vedno ka¾e ta navodila.
>> Ponovni C-x o vas vrne v zgornje okno. Kazalèek se je vrnil na
mesto, kjer je bil, preden smo skoèili v spodnje okno.
Z ukazom C-x o lahko preklapljamo med okni. Vsako okno si zapomni, kje
v oknu je ostal kazalèek, samo trenutno aktivno okno pa kazalèek tudi
v resnici prika¾e. Vsi obièajni ukazi za urejanje, ki smo se jih
nauèili, veljajo za aktivno okno.
Ukaz C-M-v je zelo uporaben, kadar urejamo besedilo v enem oknu,
drugega pa uporabljamo samo za pomoè. Kazalèek ostaja ves èas v oknu,
v katerem urejamo, po vsebini spodnjega okna pa se vseeno lahko
premikamo, ne da bi morali venomer skakati iz enega okna v drugega.
C-M-v je primer znaka CONTROL-META. Èe imate v resnici tipko META (na
PC navadno levi Alt), lahko vtipkate C-M-v tako, da dr¾ite pritisnjeni
tako CONTROL kot META, medtem ko vtipkate v. Ni pomembno, katero od
tipk, CONTROL ali META, pritisnete prvo, saj obe delujeta ¹ele, ko
pritisnete znak, ki sledi (v zgornjem primeru ,v`).
Nasprotno pa je vrstni red pritiskanja pomemben, èe nimate tipke META
in namesto nje uporabljate ESC. V tem primeru morate najprej
pritisniti ESC, potem pa Control-v. Obratna kombinacija, CONTROL-ESC v
ne deluje. To je zato, ker je ESC znak sam po sebi, ne pa modifikator,
kot sta CONTROL in META.
>> V zgornjem oknu vtipkajte C-x 1, da se znebite spodnjega okna.
(Èe bi vtipkali C-x 1 v spodnjem oknu, bi se znebili
zgornjega. Razmi¹ljajte o tem ukazu kot ,,Obdr¾i samo eno okno, in
sicer tisto, v katerem sem zdaj.``)
Seveda ni nujno, da obe okni ka¾eta isto delovno podroèje. Èe v enem
oknu izvedete C-x C-f in poi¹èete novo datoteko, se vsebina drugega
okna ne spremeni. V vsakem oknu lahko neodvisno obdelujete drugo
datoteko.
Pa ¹e ena pot, kako v dveh oknih prika¾ete dve razlièni datoteki:
>> Vtipkajte C-x 4 C-f, in na pozivnik vtipkajte ime ene va¹ih
datotek. Konèajte z <Return>. Odpre se ¹e eno okno in izbrana
datoteka se pojavi v drugem oknu. Tudi kazalèek se preseli v drugo
okno.
>> Vtipkajte C-x o, da se vrnete nazaj v zgornje okno, in C-x 1, da
zaprete spodnje okno.
* REKURZIVNI NIVOJI UREJANJA
----------------------------
Vèasih boste pri¹li v nekaj, èemur se pravi ,,rekurzivni nivo
urejanja``. To se vidi po tem, da v statusni vrstici oglati oklepaji
oklepajo ime glavnega naèina. V osnovnem naèinu bi, na primer, videli
[(Fundamental)] namesto (Fundamental).
Iz rekurzivnega nivoja urejanja se re¹ite, èe vtipkate ESC ESC ESC. To
zaporedje je vsenamenski ukaz ,,pojdi ven``. Uporabite ga lahko tudi
za ukinjanje odveènih oken, ali vrnitev iz pogovornega vmesnika.
>> Pritisnite M-x, da odprete pogovorni vmesnik, zatem pa vtipkajte
ESC ESC ESC, da pridete ven iz njega.
Z ukazom C-g ne morete iz rekurzivnega nivoja urejanja, ker C-g
preklièe ukaze ali argumente ZNOTRAJ rekurzivnega nivoja.
* DODATNA POMOÈ
---------------
V tem uvodu smo posku¹ali zbrati dovolj informacij, da lahko zaènete
Emacs uporabljati. Emacs ponuja toliko, da bi bilo nemogoèe vse to
zbrati tukaj. Verjetno pa bi se vseeno radi nauèili kaj o ¹tevilnih
koristnih mo¾nostih, ki jih ¹e ne poznate. Emacs ima ¾e vgrajene
veliko dokumentacije, do katere lahko pridete s pritiskom na CONTROL-h
(h kot ,,help``, pomoè).
Za pomoè pritisnete C-h, potem pa vtipkate znak, ki pove, kak¹no pomoè
¾elite. Èe ste poplnoma izgubljeni, vtipkajte C-h ? in Emacs vam bo
povedal, kak¹na pomoè je sploh na voljo. Èe ste vtipkali C-h, pa ste
si premislili, lahko ukaz preklièete s C-g.
(Na nekaterih sistemih se znak C-h preslika v kaj drugega. To ni
dobro, in v takem primeru se prito¾ite sistemskemu vzdr¾evalcu. Medtem
pa, èe C-h ne prika¾e sporoèila o pomoèi na dnu zaslona, namesto tega
poskusite pritisniti tipko F1 ali pa vtipkajte M-x help <Return>.)
Najosnovnej¹i tip pomoèi prika¾e C-h c. Pritisnite C-h, tipko c, zatem
pa ukazni znak ali zaporedje ukaznih znakov, in Emacs bo izpisal
kratek opis ukaza.
>> Vtipkajte C-h c C-p.
Izpi¹e se nekaj takega kot
C-p runs the command previous-line
Ukaz je izpisal ime funkcije, ki izvede ukaz. Imena funkcij
uporabljamo, kadar pi¹emo prilagoditve in raz¹iritve Emacsa. Ker pa so
navadno imena funkcij izbrana tako, da kaj povedo o tem, kaj funkcija
poène, bo verjetno to tudi dovolj za kratko osve¾itev, èe ste se z
ukazom ¾e kdaj sreèali.
Ukazu C-h lahko sledi tudi zaporedje znakov, kot na primer C-x C-s,
ali, èe nimate tipke META, <Esc>v.
Za veè informacij o ukazu vtipkajte C-h k namesto C-h c.
>> Vtipkajte C-h k C-p.
To odpre novo okno in v njem prika¾e dokumentacijo o funkciji, obenem
z njenim imenom. Ko ste opravili, vtipkajte C-x 1, da se znebite okna
z pomoèjo. Tega seveda ni potrebno napraviti takoj, ampak lahko
urejate, medtem ko imate odprto okno s pomoèjo, in ga zaprete, ko ste
konèali.
Sledi ¹e nekaj uporabnih mo¾nosti, ki jih ponuja pomoè:
C-h f Opi¹i funkcijo. Kot argument morate podati ime
funkcije.
>> Poskusite C-h f previous-line<Return>.
To izpi¹e vse podatke, ki jih ima Emacs o funkciji, ki izvede ukaz C-p.
Podoben ukaz C-h v izpi¹e dokumentacijo za spremenljivke, s katerimi
lahko nastavite obna¹anje Emacsa. Ob pozivniku morate vpisati ime
spremenljivke.
C-h a Apropos. Vtipkajte kljuèno besedo in Emacs bo izpisal
vse ukaze, ki vsebujejo to kljuèno besedo. Vse te
ukaze lahko priklièete z META-x. Pri nekaterih ukazih
bo Apropos izpisal tudi eno ali dvoznakovno
zaporedje, s katerim dose¾ete isti uèinek.
>> Vtipkajte C-h a file<Return>.
To odpre novo okno, v katerem so vsa dolga imena ukazov, ki vsebujejo
,,file`` v imenu. Izvedete jih lahko z M-x. Pri nekaterih se izpi¹e
tudi kratek ukaz, npr. C-x C-f ali C-x C-w pri ukazih find-file in
write-file.
>> Pritisnite C-M-v, da se sprehajate po oknu s pomoèjo. Poskusite
nekajkrat.
>> Vtipkajte C-x 1, da zaprete okno s pomoèjo.
C-h i Priroèniki z navodili za uporabo (tkim. datoteke
"info"). Ta ukaz vas prestavi v posebno delovno
podroèje, imenovano "info". V njem lahko prebirate
priroènike za programe, ki so name¹èeni v sistemu. Z
ukazom m emacs<Return> denimo dobite priroènik za
urejevalnik Emacs. Èe sistema Info ¹e niste
uporabljali, vtipkajte ? in Emacs vas bo popeljal na
vódeni izlet po naèinu Info in mo¾nostih, ki jih
ponuja. Ko boste zakljuèili z branjem tega prvega
berila, bo priroènik za Emacs v sistemu Info va¹
glavni vir dokumentacije.
* DRUGE MO®NOSTI
----------------
©e veè se lahko nauèite o Emacsu z branjem priroènika, bodisi
natisnjenega, bodisi na zaslonu v sistemu Info (uporabite menu Help
ali vtipkajte F10 h r). Dve mo¾nosti, ki vam bosta morda posebej v¹eè,
sta samodejno zakljuèevanje vrstice, s katerim prihranite nekaj
tipkanja, in dired, s katerim poenostavimo delo z datotekami.
Samodejno zakljuèevanje vrstic je naèin, s katerim prihranimo nekaj
tipkanja. Èe ¾elite denimo preklopiti v delovno podroèje *Messages*,
je dovolj, da vtipkate C-x b *M<Tab> in Emacs bo sam dopolnil
preostanek imena delovnega podroèja. Samodejno zakljuèevanje je
opisano v sistemu Info v priroèniku za Emacs, razdelek ,,Completion``.
Dired omogoèa izpis seznama datotek v imeniku (in po mo¾nosti tudi
podimenikih), premikanje po seznamu, obiskovanje (odpiranje),
preimenovanje, brisanje in druge operacije z datotekami. Dired je
opisav v sistemu Info v priroèniku za Emacs, razdelek ,,Dired``.
Priroènik opisuje tudi mnoge druge mo¾nosti Emacsa.
* ZAKLJUÈEK
-----------
Zapomnite si, da Emacs zapustite z ukazom C-x C-c. Èe bi radi samo
zaèasno skoèili v ukazno lupino in se kasneje vrnili v Emacs, pa
storite to z ukazom C-z.
Ta uèbenik je napisan z namenom, da bi bil razumljiv vsem novincem v
Emacsu. Èe se vam kaj ne zdi jasno napisano, ne valite krivde nase -
prito¾ite se!
* RAZMNO®EVANJE IN RAZ©IRJANJE
------------------------------
Angle¹ki izvirnik tega uvoda v Emacs je naslednik dolge vrste tovrstnih
besedil, zaèen¹i s tistim, ki ga je Stuart Cracraft napisal za izvorni
Emacs. V sloven¹èino ga je prevedel Primo¾ Peterlin.
To besedilo, kot sam GNU Emacs, je avtorsko delo, in njegovo
razmno¾evanje in raz¹irjanje je dovoljeno pod naslednjimi pogoji:
Copyright (C) 1985, 1996, 1998, 2001, 2002, 2003, 2004,
2005 Free Software Foundation, Inc.
Dovoljeno je izdelovati in raz¹irjati neokrnjene kopije tega spisa
v kakr¹nikoli obliki pod pogojem, da je ohranjena navedba o
avtorstvu in to dovoljenje, ter da distributer dovoljuje prejemniku
nadaljnje raz¹irjanje pod pogoji, navedenimi v tem dovoljenju.
Pod pogoji iz prej¹njega odstavka je dovoljeno raz¹irjati
spremenjene verzije tega spisa ali njegovih delov, èe je jasno
oznaèeno, kdo je nazadnje vnesel spremembe.
Pogoji za razmno¾evanje in raz¹irjanje samega Emacsa so malo drugaèni,
a v istem duhu. Prosimo, preberite datoteko COPYING in potem dajte
kopijo programa GNU Emacs svojim prijateljem. Pomagajte zatreti
obstrukcionizem (,,lastni¹tvo``) v programju tako, da uporabljate,
pi¹ete in delite prosto programje!
;;; Local Variables:
;;; coding: iso-latin-2
;;; sentence-end-double-space: nil
;;; End:
;;; arch-tag: 985059e4-44c6-4ac9-b627-46c8db57acf6