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.
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.
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).
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.
V tem razdelku boste našli najosnovnejše izraze na katere boste naleteli pri delu z urejevalnikom Emacs in branju dokumentacije.
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.
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.
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.
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.
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.
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
.
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. :-(
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.
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.
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.