Naprej Nazaj Kazalo

2. Zagon Emacsa

2.1 Zagon & zaustavljanje Emacsa

Kot nov uporabnik si verjetno želite zagnati Emacs, da bi se malce poigrali in preskusili stvari. Ko boste enkrat v urejevalniku in ga boste želeli zapustiti, vam mogoče to ne bo uspelo. Če Emacsa niste še nikoli uporabljali, to storite sedaj. V pozorniku ukazne lupine vnesite emacs in pritisnite Enter. Emacs bi se moral zagnati. Če se ne, potem ni nameščen ali pa ni v vaši poti.

Ko ga boste usposobili, boste morali vedeti tudi, kako ga zapustiti. Kombinacija tipk za izhod iz Emacsa je C-x C-c. Notacija C-x pomeni, da morate držati tipko Ctrl in potem pritisniti tipko x. V tem primeru boste morali pritisniti in držati tipko Ctrl in za zaključitev naloge pririsniti še tipko c.

Verjetno se vam bodo na začetku kombinacije tipk v Emacsu zdele čudne, tuje in mogoče celo neprijetne -še posebej če ste prej uporabljali urejevalnik vi. V nasprotju z urejevalnikom vi, Emacs nima različnih načinov za urejanje teksta in izdajanje ukazov.

Če ponovimo: z ukazom emacs boste zagnali Emacs. S kombinacijo tipk C-x C-c pa ga boste zaključili.

Kaj boste videli?

Ko boste zagnali Emacs, bo zasedel celotno okno X (oz. zaslon, če namesto sistema X Windows uporabljate konzolo). Na vrhu boste videli menije, v glavnem delu zaslona nekaj teksta, na dnu zaslona pa nekaj vrstic.

Izgledal bo nekako tako, kot tale skica tipa ASCII:

+----------------------------------------------------------------------+
|Buffers Files Tools Edit Search Mule Help                             |
|                                                                      |
|Welcome to GNU Emacs, one component of a Linux-based GNU system.      |
|                                                                      |
|                                                                      |
|                                                                      |
| ...                                                                  |
|                                                                      |
|---1:---F1  *scratch*         (Lisp Interaction)--L1--All-------------|
|For information about the GNU Project and its goals, type C-h C-p.    |
+----------------------------------------------------------------------+

OPOMBA: Emacs bo običajno zapolnil celoten zaslon/okno. V zgornjem primeru sem stvari malce stisnil, da bi prihranil na prostoru. Ko boste urejevalnik prvič zagnali, boste videli tudi pozdravno sporočilo. Tudi to sporočilo sem izpustil in ga na sliki zamenjal z ``...''. Pozdravno sporočilo vsebuje podatke o različici urejevalnika Emacs, ki ga uporabljate in vas opozarja na pomoč na zvezi in sorodno dokumentacijo.

Vrstica z meniji

Najvišjo vrstico vmesnika v urejevalniku Emacs predstavlja meni. Če uporabljate sistem X, boste to vrstico prepoznali kot običajne spustne menije, ki jih lahko uporabljate s pomočjo miške. Drugače boste morali za dostop do njih uporabljati bližnjice na tipkovnici (ta dokument jih ne navaja).

Statusna vrstica in Mini-buffer

Predzadnja vrstica v Emacsovem vmesniku je statusna vrstica. Vsebuje informacije o bufferju v katerem delate, v katerem načinu je Emacs in še mnoge druge stvari. Za zdaj bo dovolj že to, da veste, da obstaja.

Najnižja vrstica se imenuje mini-buffer. Od glavnega bufferja je ločena s pomočjo statusne vrstice, ki smo jo pravkar spoznali. Mini-buffer si lahko predstavljate kot Emacsovo ``ukazno vrstico''. Na tem mestu se izpisujejo vsi ukazi, ki jih daste urejevalniku, pa tudi statusna sporočila, kot odgovori na vaše početje.

V dokumentaciji za Emacs se stvar, ki jo jaz imenujem statusna vrstica običajno imenuje načinovna vrstica (mode line). V njej Emacs prikazuje sporočila o trenutnem načinu, ki ga uporabljate, pa tudi druge stvari, kot je na primer trenuten datum in čas, številka vrstice, velikost datoteke in skoraj vsi drugi podatki, ki jih želite videti.

2.2 Nekaj izrazov

V tem razdelku boste našli najosnovnejše izraze na katere boste naleteli pri delu z urejevalnikom Emacs in branju dokumentacije.

Bufferji & datoteke

V nasprotju z nekaterimi urejevalniki v Emacsu, ko odprete datoteko, le ta ne ostane ``odprta'' ves čas, ko z njo delate. Namesto tega jo Emacs prebere v buffer v pomnilniku. Medtem ko urejate buffer in delate s podatki, se na disku nič ne spremeni. Datoteka se na disku posodobi samo takrat, ko buffer dejansko shranite. Seveda obstajajo prednosti in pomankljivosti takšnega načina, vendar je za vas pomembno le, da veste da stvar deluje na ta način.

Kot posledico takšnega shranjevanja boste opazili, da se v dokumentaciji za urejevalnik Emacs, v načinih in paketih uporablja izraz ``buffer''. Zapomnite si, da buffer pomeni ``kopijo datoteke, ki je trenutno v pomnilniku.'' Ah ja, da ne pozabim, ni nujno, da se buffer vedno nanaša na določeno datoteko na disku. Pogosto bo Emacs tvoril bufferje kot rezultat ukazov, ki ste jih zagnali. Takšni bufferji lahko vsebujejo rezultate ukaza, sezname s katerih lahko izbirate itd.

Točka (point) & področje (region)

V jeziku Emacsa boste pogosto slišali oz. videli reference za točko. V splošnem točka predstavlja kazalec. Ko boste pričeli uporabljati urejevalnik Emacs, razlika med točko in kazalcem verjetno še ne bo pomembna. Če pa ste radovedni, si lahko razliko predstavljajte na nasledni način. Kazalec je vizualna predstavitev točke. Kazalec je vedno ``na'' določenem znakovnem položaju v trenutnem bufferju, točka pa je v prostoru med dvema znakoma v bufferju. Torej lahko rečemo, če je kazalec v besedi ``Linux''na črki `n' , je potem točka med črko `i' in `n'.

Kot večina sodobnih urejevalnikov, tudi Emacs omogoča izvajanje operacij (poravnava, črkovanje, preoblikovanje, izrezovanje, kopiranje, lepljenje, ...) na razdelku v trenutnem bufferju. Blok besedila lahko osvetljite (oz. ``označite'') s pomočjo tipkovnice ali miške in potem izvršite določemo operacijo samo na izbranem besedilu. V urejevalniku Emacs se blok besedila imenuje področje.

Okna

Ta del bo nekoliko begajoč za vse tiste, ki so kdaj uporabljali vmesnik GUI. Zapomnite si samo, da je bil Emacs razvit veliko pred vmesniki GUI in še preden so postali priljubljeni upravljalniki oken.

Okno v urejevalniku Emacs predstavlja področje zaslona v katerem je prikazan buffer. Ko boste Emacs prvič zagnali, boste videli na zaslonu samo eno okno. Nekatere funkcije Emacsa (kot je na primer pomoč in dokumentacija) pogosto [začasno] odprejo dodatna okna na zaslonu Emacsa.

Okna v urejevalniku Emacs nimajo nič skupnega z X Windows v pomenu GUI. V Emacsu lahko nove bufferje odprete tako, da odprete dodatna okna X. Na ta način lahko primerjate dve datoteki eno ob drugi. Ta okna X se v jeziku Emacs imenujejo okvirji. Berite dalje.

Okvirji

V urejevalniku Emacs, je okvir ločeno, samostojno okno X v katerem je prikazan buffer urejevalnika Emacs. Oba pa sta del iste seje urejevalnika Emacs. Obnašanje je nekoliko (vendar ne preveč) podobno, kot če bi v Netscape Navigatorju pritisnili kombinacijo tipk Alt+N.

2.3 Tipkovnica - osnove

Ta razdelek vsebuje osnove, ki se nanašajo na delovanje tipkovnice za Emacs. Kot v vsakem zmogljivem urejevalniku lahko tudi v urejevalniku Emacs vse stvari izvršite s samo nekaj pritiski na tipke.

Če ste uporabnik urejavalnika vi, potem ste verjetno potrebovali nekoliko časa, da ste se navadili na tipke k, j, l, h za premikanje ene vrstice navzgor, navzdol, za en znak naprej in en znak nazaj. Mogoče ste porabili nekaj ur ali celo tednov, da ste se privadili navigacije po datoteki zaradi velikega števila kombinacij tipk, ki so na voljo v urejevalniku vi.

Tudi Emacs ni nič kaj drugačen. Naučiti se bo treba različnih kombinacij tipk in ukazov. Prav tako, kot v urejevalniku vi, se boste morali za opravljanje večine dela naučiti samo osnov. Sčasoma pa boste lahko razširili svoje znanje in poiskali hitrejše poti za opravljanje stvari.

Ukazne tipke (Meta, Esc, Control in Alt)

Kot boste kmalu spoznali, se v Emacsu zelo veliko uporabljajo kombinacije različnih tipk. Ker ni načinovni urejevalnik tako kot vi, vam ni potrebno paziti, ali ste v ``ukaznem načinu '' ali ``načinu za urejanje'' preden boste poskusili premakniti kazalec in izvršiti ukaz. Namesto tega pritisnete samo pravo kombinacijo tipk, Emacs pa bo (običajno) izvršil nalogo, ki ste mu jo zadali.

Za tipke, ki se najpogosteje uporabljajo v urejevalniku Emacs, se v dokumentaciji uporabljajo okrajšave, na primer C (za Control oz. Ctrl) in M za (Meta). Čeprav ima večina sodobnih tipkovnic za osebni računalnik eno ali več tipk označeno s Ctrl, jih ima le malo tipko z oznako Meta. Verjetno boste hoteli zamenjati tipko Esc ali Alt za tipko Meta. V večini standardnih nastavitvah pa tako tipka Esc kot tudi tipka Alt služita enakemu namenu.

Ko boste torej v dokumentaciji za urejevalnik Emacs videli zapis C-x f to pomeni ``pritisni control-x in potem še tipko f.'' Če pa boste videli zapis M-x shell, to pomeni ``pritisni alt-x in potem vtipkaj besedo shell''.

Zelo koristen ukaz za začetnike je M-x apropos oz. C-h a. apropos bo poiskal v Emacsovi dokumentaciji na zvezi vse funkcije in regularne izraze, ki jih vi vnašate. To je odličen način za raziskovanje in spoznavanje vseh ukazov, ki se nanašajo na okvirje. Enostavno pritisnite kombinacijo tipk C-h a nato pa še frame.

Premikanje po Bufferju

Sedaj ko veste kaj pomenijo vse te prestižne okrajšave, si oglejmo še seznam najobičajnejših tipk, ki se uporabljajo za premikanje po bufferju:

Kombinacija tipk        Akcija
-------------------------------------------
C-p                     Eno vrstico navzgor
C-n                     Eno vrstico navzdol
C-f                     Naprej za en znak
C-b                     Nazaj za en znak
C-a                     Na začtek vrstice
C-e                     Na konec vrstice
C-v                     Eno stran navzdol
M-v                     Eno stran navzgor
M-f                     Naprej za eno besedo
M-b                     Nazaj za eno besedo
M-<                     Na začetek bufferja
M->                     Na konec bufferja
C-g                     Končaj tenutno operacijo
-------------------------------------------

Tudi smerne tipke (oz. tipke s puščicami) običajno delujejo tako, kot od njih pričakujete. Mogoče ne bo delovala tipka Backspace. Vendar je to že druga zgodba. :-(

Bistveni ukazi

No dobro, sedaj veste kako se premikati znotraj bufferja, kaj pa odpiranje in shranjevanje datotek? Iskanje? Tukaj je nekaj osnovnih ukazov.

Preden preidemo na te ukaze, naj najprej na kratko pojasnim kako stvari sploh delujejo.

Vse ``kombinacije ukazov'' v urejevalniku Emacs (tiste, ki imajo obliko M-x nekaj ali C-nekaj) so dejansko samo bližnjice do funkcij, ki so del urejevalnika Emacs. Poljubno funkcijo lahko prikličete z vnosom kombinacije tipk M-x ime-funkcije in s pritiskom na tipko Enter. Uporabite lahko tudi bližnjico na tipkovnici za to funkcijo (če le obstaja).

Na primer, funkcija urejevalnika Emacs, ki shrani buffer na disk se imenuje save-buffer. Glede na privzeto vrednost je pripeta tudi na C-x C-s. Torej, za shranitev trenutnega bufferja lahko uporabite bližnjico ali pa vtipkate M-x save-buffer in v obeh primerih dosežete isti rezultat.

Vse najobičajnejše funkcije imajo glede na privzeto vrednost bližnjice na tipkovnici. Nekatere izmed njih so navedene v naslednji tabeli.

kombinacija tipk        Funkcija                Opis
-------------------------------------------------------------------
C-x C-s         save-buffer                     Shrani trenutni buffer na disk
C-x u           undo                            Razveljavi zadnjo operacijo
C-c C-f         find-file                       Odpri datoteko na disku
C-s             isearch-forward                 Nadaljuj z iskanjem niza
C-r             isearch-backward                Išči niz od spodaj navzgor
                replace-string                  Poišči & zamenjaj niz
                replace-regexp                  Poišči & zamenjaj s pomočjo regexp
C-h t           help-with-tutorial              Uporabi interaktivno vadnico
C-h f           describe-function               Prikaži pomoč za funkcijo
C-h v           describe-variable               Prikaži pomoč za spremenljivko
C-h x           describe-key                    Prikaži čemu služi zaporedje tipk
C-h a           apropos                         Poišči pomoč za niz/regexp
C-h F           view-emacs-FAQ                  Prikaži FAQ za Emacs
C-h i           info                            Preberi dokumentacijo za Emacs
C-x r m         bookmark-set                    Postavi oznako. Uporabno pri iskanu
C-x r b         bookmark-jump                   Skoči na oznako.
-------------------------------------------------------------------

Ko boste preizkusili večino teh funkcij, boste opazili da jih kar nekaj od vas zahteva vnos podatkov. Te podatke boste vedno vnesli v mini-buffer. To je podobno uporabi ukaza : v urejevalniku vi oz. večini ukazov, ki jih uporabljate v vaši lupini sistema Unix.

Emacs ima dobesedno na stotine vgrajenih funkcij. Zgoraj prikazan seznam je samo majhen del tistih funkcij, ki jih redno uporabljam. Popolnejši seznam funkcij, ki so na voljo boste našli v pomoči na zvezi. Tam boste našli tudi popolnejšo dokumentacijo za tiste funkcije, ki sem jih navedel v zgornji tabeli.

Dopolnjevanje ukazov s pomočjo tipke Tab

Kot večina priljubljenih lupin sistema Unix (bash, csh, tcsh, ...), tudi Emacs nudi dopolnjevanje ukazov s pomočjo tipke Tab. Pravzaprav je bilo dopolnjevanje ukazov v lupini bash oblikovano po tistem v urejevalniku Emacs. Če torej uporabljate to funkcijo v lupini bash vam ne bi smela delati preglavic v urejevalniku Emacs.

Kot primer, poskusite M-x search in nato pritisnite tipko Tab. Emacs bo pripel vezaj in s tem nakazal, da za dopolnjevanje obstaja več možnosti, vse možnosti pa kot naslednji znak vsebujejo vezaj. Pritisnite na tipko Tab še enkrat in Emacs bo prikazal seznam vseh možnih funkcij iz katerega lahko izberete ustrezno. Opazili boste, da to stori v novem oknu. Začasno razpolovi vaš zaslon na dva dela: en vsebuje buffer, ki ste ga urejali, drug pa vsebuje seznam vseh možnih dopolnitev za ``search-''. Proces za izbiro lahko prekinete s kombinacijo tipk C-g. S tem pa boste zaprli tudi novo okno.

2.4 Vadnica, pomoč, & informacije

Emacs vsebuje vadnico na zvezi, ki vas vodi skozi osnovne funkcije za urejanje in funkcije, ki bi jih moral vsakdo poznati. Pravtako boste našli razlago, kako uporabiti ostale funkcije pomoči v urejevalniku Emacs.

Toplo vam priporočam, da porabite nekaj časa in greste skozi vadnico, seveda če se mislite resno naučiti uporabe urejevalnika Emacs. Kot je prikazano v zgornji tabeli, lahko pričnete z vadnico preko kombinacije tipk C-h t. Vadnica je namenjena tistim ljudem, ki so šele pričeli z delom v urejevalniku Emacs.

Če uporabljate Emacs v sistemu X, boste opazili da se skrajno desni meni v vrstici z meniji imenuje Pomoč (Help). Ko boste raziskovali ta meni, boste verjetno opazili, da imajo nekatere funkcije na desni strani pripisane še bližnjice.

Da bi si ogledali celotno dokumentacijo, ki je na voljo v urejevalniku Emacs, preskusite kombinacijo tipk M-x info ali C-h i, s čimer boste zagnali Emacsov brskalnik po dokumentaciji.


Naprej Nazaj Kazalo