  Spis HOWTO za zaetnike v Emacsu
  Jeremy D. Zawodny: jzawodn@wcnet.org, prevod v slovenino
  Ale Koir: ales.kosir@hermes.si
  14. oktober, 1999 ($Razliica: 1.7 $)

  Ta spis seznanja uporabnika operacijskega sistema Linux z urejeval
  nikom Emacs. Predpostavlja, da uporabnik pozna urejevalnik vi ali
  podobnega. Zadnja razliica tega spisa je na voljo v spletu na naslovu
  http://www.wcnet.org/jzawodn/emacs/.
  ______________________________________________________________________


  Kazalo


  1. Uvod

     1.1 Copyright
     1.2 Ciljna skupina in namen
     1.3 Kaj je Emacs?
        1.3.1 Prilagoditve in razliice
        1.3.2 Kako pridobimo Emacs?

  2. Uporaba Emacsa

     2.1 Zagon in zapustitev Emacsa
        2.1.1 Kaj vidimo?
           2.1.1.1 Menujska letev
           2.1.1.2 Statusna vrstica in pogovorni vmesnik
     2.2 Nekaj o terminologiji
        2.2.1 Vmesniki in datoteke
        2.2.2 Toka in obmoje
        2.2.3 Okna
        2.2.4 Okvirji
     2.3 Osnove tipkovnice
        2.3.1 Ukazne tipke (Meta, Esc, Control in Alt)
        2.3.2 Premikanje po vmesniku
        2.3.3 Najpomembneji ukazi
        2.3.4 Dopolnjevanje s tipko Tab
     2.4 Prvo berilo, pomo in strani info

  3. Naini v Emacsu

     3.1 Glavni naini in podnaini
     3.2 Naini za programiranje
        3.2.1 C, C++ in Java
        3.2.2 Perl
        3.2.3 Python
        3.2.4 Drugi naini
     3.3 Pisanje
        3.3.1 rkovanje (nain
        3.3.2 HTML (nain
        3.3.3 TeX (
        3.3.4 SGML (
     3.4 Drug naini
        3.4.1 Nadzor razliic (nain
        3.4.2 Nain za ukazno lupino
        3.4.3 Telnet in FTP
        3.4.4 Man
        3.4.5 Ange-FTP

  4. Emacs po meri

     4.1 Zaasno prilagojevanje
        4.1.1 Prirejanje vrednosti spremenljivkam
        4.1.2 Zveze z datotekami
     4.2 Uporaba datoteke
     4.3 Paket za prilagojevanje
     4.4 Zaslon oken X

  5. Priljubljeni paketi

     5.1 VM (potni program)
     5.2 Gnus (program za poto in novice)
     5.3 BBDB (rollodex)
     5.4 AucTeX (e en nain za TeX)

  6. Drugi viri

     6.1 Knjige
        6.1.1 Learning GNU Emacs
        6.1.2 Writing GNU Emacs Extensions
        6.1.3 Programming in Emacs Lisp: An Introduction
        6.1.4 The GNU Emacs Lisp Reference Manual
     6.2 Spletna mesta
        6.2.1 EMACSulation
     6.3 Noviarske skupine
     6.4 Seznami elektronskih naslovov
     6.5 Arhiv za Emacsov lisp

  7. Zahvale



  ______________________________________________________________________

  1.  Uvod

  1.1.  Copyright

  Copyright  1998 - 1999 Jeremy D. Zawodny. Dovoljenje za razirjanje
  in spreminjanje tega dokumenta daje splono dovoljenje GNU (General
  Public License). Izvod dovoljenja je dostopen na strani
  http://www.gnu.org/copyleft/gpl.html


  1.2.  Ciljna skupina in namen

  Ta spis je namenjen uporabniku sistema Linux, tistemu, ki bi se rad
  nauil uporabljati urejevalnik Emacs. Spis je zael nastajati kot
  povzetek za kratko predstavitve, ki sem jo pripravil za toleko
  obmono sreanje uporabnikov Linuxa (Toledo Area Linux User Group)
  http://www.talug.org/. Spis je kasneje zrasel zaradi pomoi skupnosti,
  kakor kae razdelek z zahvalami.


  Posebej moram poudariti, da ni v spisu skoraj ni, kar bi veljalo le
  za Linux. Povedano  se nanaa na vse vrste Unixov in celo na Emacs, ki
  tee v okolju Microsoft Windows. A ker je ta spis del linuxovskega
  dokumentacijskega projekta (Linux Documentation Project), trdim, da je
  spis pripravljen za uporabnike Linuxa, ker je bil prav njim resnino
  namenjen.


  Tisti izmed bralcev, ki imate ime GNU/Linux raje kot preprosto
  ,,Linux'' (preberite http://www.gnu.org/gnu/linux-and-gnu.html, da
  boste zvedeli, zakaj bi to kdo rad razloeval) pa ste vabljeni, da v
  mislih z nizom GNU/Linux nadomestite vse besede Linux v tem spisu.
  etudi ne nasprotujem utemeljitvi in duhu zamisli, ki je v ozadju, ne
  utim potrebe, da bi zapisal ,,GNU/Linux''.


  1.3.  Kaj je Emacs?

  Emacs pomeni razlinim ljudem razline stvari. Odvisno od tega, koga
  boste vpraali, boste morebiti dobili naslednje odgovore:


  *  urejevalnik besedil,

  *  odjemalec za elektronsko poto,

  *  pregledovalnik noviarskih skupin,

  *  program za stavljenje besedila,


  *  vero,

  *  integrirano razvojno okolje,

  *  karkoli bi vi eleli, da je!


  Za na namen se pretvarjajmo, da je Emacs urejevalnik besedila, in
  sicer neverjetno zmogljiv urejevalnik besedila, kasneje pa bomo
  globlje obravnavali to vpraanje. Emacs je napisal Richard Stallman
  (ustanovitelj fundacije za prosto programje, Free Software Foundation
  http://www.fsf.org/, in projekta GNU http://www.gnu.org/) in ga e
  danes vzdruje.


  Emacs je eden od najbolj razirjenih in zmogljivih urejevalnikov v
  Linuxu (in Unixu) in je po priljubljenosti takoj za urejevalnikom vi.
  Slovi po ogromnem naboru funkcij, zmonosti preprostega prilagojevanja
  in po tem, da nima napak. Obseni nabor funkcij in zmonost
  prilagojevanja sta posledica naina, na katerega je bil Emacs
  nartovan in izveden. Ne da bi se spustil v podrobnosti, trdim, da
  Emacs ni le urejevalnik. Velik del ga je napisanega v programskem
  jeziku lisp. Jedro Emacsa je v jeziku C napisan popolnoma funkcionalen
  tolma za jezik lisp in le najbolj osnovni in nizkonivojski del
  predstavlja prevedena koda C, veina Emacsove kode pa je napisana v
  jeziku lisp. Trdimo lahko, da je v Emacs vgrajen celotni programski
  jezik, njegovo kodo pa lahko po potrebi spreminjamo, prilagajamo,
  dodajamo in tako prikrojujemo Emacsovo obnaanje.


  Emacs je hkrati tudi eden od najstarejih urejevalnikov.  Dejstvo, da
  ga zadnjih dvajset let (?) uporabljajo tisoi programerjev, je razlog,
  da je zanj na voljo veliko dodatnih paketov. Ti paketi omogoajo, da
  vi postorite stvari, o katerih se Stallmanu, ko je Emacs zael pisati,
  e sanjalo ni. Ve o tem pa v nadaljevanju.


  Na voljo je mnogo spletnih mest in spisov, ki dajo bolji pregled
  Emacsa, njegove zgodovine in podobnega od tega, ki je pred vami. Raje
  kot da bom poskual zajeti imve znanega, svetujem, da si ogledate
  nekaj mest, ki jih navajam v razdelku ``Drugi viri''.


  1.3.1.  Prilagoditve in razliice

  Potrebno je omeniti, da obstajata dva razlina urejevalnika: GNU Emacs
  in XEmacs.  Oba izvirata iz skupnega prednika in veina funkcij je
  skupna. To besedilo se nanaa na GNU Emacs (izrecno na razliico
  20.3), a veina zapisanega velja tudi za XEmacs in zgodneje razliice
  GNU Emacs. V tem besedilu se sklicujem preprosto na ,,Emacs'', kar
  upotevajte.


  1.3.2.  Kako pridobimo Emacs?

  Emacs zlahka pridobimo. e uporabljate razirjeno distribucijo Linuxa,
  kakrna je Debian, RedHat, Slackware ali podobna, je Emacs zelo
  verjetno e priloen kot paket, ki ga namestimo z naega nosilca za
  distribucijo. e Emacsa nimamo, lahko dobimo tudi njegovo izvorno kodo
  in jo sami prevedemo. Obiite spletno mesto
  http://www.gnu.org/software/emacs/emacs.html, kjer boste nali tona
  navodila, kako ga pridobite.




  2.  Uporaba Emacsa

  2.1.  Zagon in zapustitev Emacsa

  Kot novi uporabnik Emacsa ga bomo sprva verjetno hoteli pognati in
  preskusiti. A ko smo enkrat v njem in ga elimo zapustiti, tega
  verjetno sprva ne bomo znali.  e ga nismo e nikoli uporabili, ga
  poskusimo pognati prav zdaj.  V svoji ukazni lupini za pozivnikom
  vpiimo emacs in pritisnimo tipko Enter. Emacs bi se moral zagnati. e
  se ne zaene, bodisi ne lei v poti do programov bodisi ni nameen.


  Ko pa smo uspeno pognali Emacs, se moramo nauiti, kako ga zapustimo.
  Vtipkati moramo ukaz C-x C-c. Pisava C-x pomeni, da pritisnemo tipko
  Ctrl, jo pridrimo, nato pritisnemo e tipko x, zatem pa popustimo x
  in e Ctrl. V zgornjem primeru moramo za prvim delom pritisniti in
  pridrati e tipko Ctrl in pritisniti c, da zapustimo urejevalnik.


  Morebiti se nam bodo sprva zdeli Emacsovi ukazi udni, nenavadni in
  celo nerodni, posebej e smo vajeni urejevalnika vi. V nasprotju z
  urejevalnikom vi Emacs nima posebnih nainov za vnaanje besedila in
  ukazov.


  Na kratko: ukaz emacs poene urejevalnik Emacs. Z Emacsovim ukazom C-x
  C-c urejevalnik zapustimo.


  2.1.1.  Kaj vidimo?

  Ko poenemo Emacs, njegov izpis zasede vse okno X ali zaslon, e ga
  poganjamo v konzoli. Na vrhu opazimo menujsko letev, v srednjem delu
  nekaj besedila in nekaj vrstic na dnu.


  Zaslon je podoben tej skici z znaki:


  +----------------------------------------------------------------------+
  |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.    |
  +----------------------------------------------------------------------+



  Razliica v slovenskem jeziku pa je takna:











  +----------------------------------------------------------------------+
  |Buffers Files Tools Edit Search Mule Help                             |
  |                                                                      |
  |Dobrodoli v GNU Emacs, sestavnem delu sistema GNU v Linuxu.          |
  |                                                                      |
  |                                                                      |
  |                                                                      |
  | ...                                                                  |
  |                                                                      |
  |---1:---F1  *scratch*         (Lisp Interaction)--L1--All-------------|
  |Pritisnite C-h C-p, da dobite opis projekta GNU in njegovega namena.  |
  +----------------------------------------------------------------------+




  Opomba: Emacs obiajno zavzame celotno okno ali zaslon.  Zgornjo skico
  sem okrnil, da bi jo lahko prikazal na omejenem prostoru. Ko prvi
  poenemo Emacs, bomo opazili pozdravno sporoilo. Da bi prihranil
  prostor, sem njegovo vsebino izpusti in jo nadomestil z znaki ,,...''.
  Pozdravno sporoilo navaja razliico Emacsa, ki ga uporabljamo, in nas
  vabi, da si ogledamo dostopno pomo na zvezi.


  2.1.1.1.  Menujska letev

  Vrhnja vrstica v Emacsovem vmesniku je menujska letev (ang. menu bar).
  e poganjamo Emacs v oknih X, se bodo izbire v menuju obnaala kot
  obiajni potezni menuji (ang. pull-down menu), do katerih pridemo z
  miko. Drugae pa moramo za dostop do menujev uporabiti tipkovnico z
  ustreznimi blinjicami tipk, o emer tu ne govorimo.


  2.1.1.2.  Statusna vrstica in pogovorni vmesnik

  Zgornja od zadnjih dveh vrstic Emacsovega vmesnika je statusna letev
  (ang. status bar). Vsebuje podatke o vmesniku, v katerem delamo, o
  nainu dela v trenutnem vmesniku in podobne koristne informacije.
  Zaenkrat se zadovoljimo s tem, da se zavedamo obstoja te letve.


  Najspodneja vrstica se imenuje pogovorni vmesnik (ang. mini-buffer).
  Od osrednjega vmesnika (ang. main buffer) ga na zaslonu loi pravkar
  opisana statusna letev. Pogovorni vmesnik si lahko zamiljamo kot
  Emacsovo ukazno vrstico. Vanj vnaamo ukaze, ki jih dajemo Emacsu, in
  v njem nam Emacs izpisuje svoja sporoila in odgovore na nae ukaze.


  Ugotovili boste, da tistemu, kar sem pravkar imenoval statusna letev
  (ang. status bar), Emacsova dokumentacija pravi nainovna vrstica
  (ang. mode line). To je mesto, kjer Emacs prikazuje podatke o nainu
  ali nainih dela v trenutnem vmesniku kot tudi trenutni datum in as,
  zaporedno tevilko vrstice, velikost datoteke, torej skoraj vse, kar
  bi si eleli videti v tej vrstici.


  2.2.  Nekaj o terminologiji

  Ta razdelek obravnava najbolj osnovno terminologijo Emacsa. Potrebno
  jo je poznati, de bomo lahko brali o Emacsu in ga uporabljali.


  2.2.1.  Vmesniki in datoteke

  Za razliko od nekaterih drugih urejevalnikov datoteka, ki jo odpremo v
  Emacsu, ne ostane odprta ves as dela. Namesto tega jo Emacs prebere v
  vmesnik (ang. buffer) v pomnilniku. Ko urejamo datoteko, se njena
  vsebina na disku ne spremeni, dokler vsebine vmesnika na shranimo na
  disk. Tak nain dela ima svoje prednosti in slabosti, a trenutno je
  pomembno le, da razumemo ta pristop.


  Posledica tega je, da to isto besedo uporabljamo v Emacsovi
  dokumentaciji, nainih, paketih in tako naprej.  Pomeni nam trenutno
  vsebino datoteke v pomnilniku.  Eh, potrebno je omeniti, da vmesnik ni
  nujno povezan s kakrnokoli datoteko na disku. Velikokrat Emacs
  ustvari vmesnik, v katerega bo shranil izhod ukazov, ki smo jih
  izvedli. Nekateri vmesniki bodo vsebovali izpis ukaza, seznam izbir,
  med katerimi lahko izbiramo, in podobno.


  2.2.2.  Toka in obmoje

  V Emacsovem argonu bomo velikokrat sliali za toko (ang. point) ali
  o njej brali. V splonem je toka utripalka (ang. cursor). Natanen
  razloek med toko in utripalko na zaetku verjetno ni odloilen.  A
  e ste radoveni, si predstavljajte razliko takole: utripalka je vidni
  prikaz toke. Utripalka je vselej vidna na doloenem mestu trenutnega
  vmesnika. Toka pa nasprotno prebiva v prostoru med dvema znakoma
  trenutnega vmesnika. e vidimo utripalko na rki ,o' besede ,,zob'',
  to pomeni, da je toka v resnici med rkama ,z' in ,o'.


  Emacs omogoa urejanje vmesnika kot mnogi sodobni urejevalniki z
  naslednjimi funkcijami: zamikanje (ang. indent), rkovanje (ang.
  spell-check), preoblikovanje (ang. reformat), izrezovanje (ang. cut),
  prepisovanje (ang. copy), lepljenje (ang. paste) in podobno na delu
  besedila trenutnega vmesnika.  Oznaimo (ang. mark) lahko besedilo s
  poudarjanjem (ang. highlight), tako da uporabimo miko, in nato
  izvedemo ukaz le na izbranem obmoju besedila. Tak del besedila se v
  Emacsu imenuje obmoje (ang. region).


  2.2.3.  Okna

  Res je, nadaljevanje bo zmedlo marsikoga, ki je e uporabljal grafini
  vmesnik. Spomniti pa se moramo, da je bil Emacs razvit veliko preden
  so postali popularni grafini vmesniki in okenski upravljaniki.


  Okno (ang. window) v Emacsu je obmoje na zaslonu, v njem pa je
  prikazan vmesnik. Ko Emacs prvi poenemo, dobimo na zaslonu le eno
  okno. Nekateri ukazi (denimo pomo ali dokumentacija) v Emacsu odpro
  dodatna zaasna okna na Emacsovem zasonu.


  Emacsovo okno nima ni skupnega z okni X v smislu grafinega vmesnika.
  Odpremo lahko dodatna okna X, v katerih prikaemo Emacsove vmesnike,
  denimo za vzporedno primerjavo vsebine dveh datotek, ta nova okna X pa
  se imenujejo v Emacsovem argonu okvirji. Nadaljujte z branjem!


  2.2.4.  Okvirji

  V Emacsu je okvir (ang. frame) loeno okno X, ki prikazuje nek Emacsov
  vmesnik. A vsa so del iste Emacsove seje. Obnaajo se skoraj tako, kot
  e v Netscapovem Navigatorju uporabimo ukaz Alt+N.





  2.3.  Osnove tipkovnice

  Ta razdelek opisuje osnove igranja na tipkovnico v Emacsu. Kot v
  veini zmogljivih urejevalnikov, je tudi v Emacsu vse, kar lahko v
  njem storimo, od nas oddaljeno le nekaj pritiskov na tipke.


  e ste uporabnik urejevalnika vi, ste se nekaj asa morali privajati
  na tipke k, j, l, h, s katerimi se v njem pomikamo za vrstico navzgor
  ali navzdol ali za znak naprej ali nazaj. Priznajmo, da smo
  potrebovali nekaj ur ali tednov, da smo se jim privadili in jih zaeli
  udobno uporabljati za premikanje po datoteki.


  Emacs se v tem ne razlikuje. Tudi tu se moramo nauiti razlinih
  pritiskov tipk in ukazov. Kakor v vi se moramo nauiti le nekaj osnov,
  pa e lahko opravimo veino dela.  Sasoma se lahko poasi priuimo
  tudi drugih ukazov in razirimo svoje znanje, tako da znamo vedno
  hitreje opraviti svoje stvari.


  2.3.1.  Ukazne tipke (Meta, Esc, Control in Alt)

  Kot se bomo kmalu nauili, Emacs zelo pogosto uporabljamo z
  vetipkovnimi kombinacijami, akordi. Ker Emacs ni nainovni
  urejevalnik (ang. modal editor), kakren je vi, nam ni potrebno
  pomniti, kdaj smo v ,,ukaznem'' (ang. command mode) ali
  ,,urejevalnem'' nainu (ang. editing mode), da bi premaknili utripalko
  ali izvedli ukaz. Zato veinoma le pritisnemo pravo zaporedje ukazov
  in Emacs nas (obiajno) takoj uboga.


  Tipke, ki jih Emacs uporablja najpogosteje, so v dokumentaciji
  navedene takole C za tipko Control ali Ctrl in M za tipko Meta. Medtem
  ko ima veina sodobnih osebnih raunalnikov eno ali ve tipk, ki so
  oznaene s Ctrl, imajo le redki tipko z oznako Meta. V mislih vselej
  nadomestimo tipko Meta z eno od tipk Esc ali Alt.  V veini obiajnih
  primerov se obnaata tipki Esc in Alt enako.


  Kadarkoli potemtakem vidite v Emacsovi dokumentaciji sklic na C-x f,
  to pomeni ,,pritisnite Control-x in zatem tipko f''. In e vidite
  omenjeno kaj podobno temu M-x shell, to v resnici pomeni ,,pritisnite
  alt-x in vpiite besedo shell''.


  Za zaetnika zelo koristen ukaz je M-x apropos ali skrajano C-h a.
  Ukaz apropos preie Emacsovo dokumentacijo na zvezi in poie vse
  funkcije, katerih imena ustrezajo regularnemu izrazu, ki smo ga
  vpisali. Na ta nain na primer zlahka poiemo vse ukaze, ki so
  povezani z okvirji (ang. frame). Preprosto vnesemo C-h a in zatem
  vpiemo frame.


  2.3.2.  Premikanje po vmesniku

  Ko smo spoznali, kaj pomenijo udne okrajave zaporedij tipk, je as,
  da si ogledamo seznam najpogostejih ukazov za premikanje po vmesniku:








  tipke       uinek
  -----------------------------------
  C-p         navzgor za vrstico
  C-n         navzdol za vrstico
  C-f         naprej za znak
  C-b         nazaj za znak
  C-a         zaetek vrstice
  C-e         konec vrstice
  C-v         navzdol za celo stran
  M-v         navzgor za celo stran
  M-f         naprej za besedo
  M-b         nazaj za besedo
  M-<         zaetek vmesnika
  M->         konec vmesnika
  C-g         prekini trenutni ukaz
  -----------------------------------




  In kot bi si eleli, tudi smerne tipke (tiste s puicami) obiajno
  delujejo po naih priakovanjih. Tipka vraalka (ang. backspace) pa
  morebiti ne. A to je druga zgodba. :-(


  2.3.3.  Najpomembneji ukazi

  Potem ko smo se nauili, kako se premikamo po vmesniku, ali smo e
  pripravljeni tudi za odpiranje in shranjevanje datotek?  Morebiti celo
  za iskanje? Ja, tukaj bomo nali teh nekaj najpomembnejih ukazov.


  Preden pa se zapodimo med ukaze, naj na kratko pojasnim, kako
  delujejo.


  Vsi ,,ukazni akordi'' v Emacsu (ti, ki jih zapiemo kot M-nekaj ali C-
  nekaj) so v resnici le blinjice do funkcij, ki so del Emacsa. Vsako
  izmed funkcij lahko pokliemo po njenem imenu, tako da vpiemo M-x
  ime-funkcije in pritisnemo Enter. e pa je na tipkovnico prilepljena
  blinjica do te funkcije, zadoa, da uporabimo blinjico.


  Emacsova funkcja, ki shrani vsebino vmesnika na disk, se imenuje save-
  buffer. Privzeto je pripeta na akord C-x C-s. Da bi shranili
  vmesnikovo vsebino, lahko pritisnemo akord ali pa vpiemo M-x save-
  buffer in doseemo popolnoma enak uinek.


  Vse najpogosteje uporabljane funkcije imajo vnaprej prirejene akorde.
  Nekaj jih navajamo spodaj.















  akord       funkcija           opis
  -------------------------------------------------------------------
  C-x C-s     save-buffer        shrani trenutni vmesnik na disk
  C-x u       undo               razveljavi zadnji ukaz
  C-x C-f     find-file          odpri datoteko na disku
  C-s         isearch-forward    poii niz znakov v smeri naprej
  C-r         isearch-backward   poii niz znakov v smeri nazaj
              replace-string     poii niz znakov in ga zamenjaj
              replace-regexp     poii regularni izraz in ga zamenjaj
  C-h t       help-with-tutorial poeni uenje Emacsa s prvim berilom
  C-h f       describe-function  izpii opis funkcije
  C-h v       describe-variable  izpii opis spremenljivke
  C-h x       describe-key       izpii pomen akorda
  C-h a       apropos            poii dokumentacijo z regularnim izrazom
  C-h F       view-emacs-FAQ     prikai odgovore na pogosta vpraanja o Emacsu
  C-h i       info               izpii dokumentacijo o Emacsu
  C-x r m     bookmark-set       oznai trenutno mesto z zaznamkom
  C-x r b     bookmark-jump      skoi na zaznamek
  -------------------------------------------------------------------




  Ko bomo uporabljali te funkcije, bomo opazili, da mnoge od nas
  priakujejo vnos. Tega vselej vnesemo v pogovornem oknu, kar spominja
  na ukaze : v vi.


  V Emacs je vgrajenih dobesedno stotine funkcij, ki so vse dosegljive.
  Zgornji seznam je le izvleek ukazov, ki jih uporabljam najpogosteje.
  Za bolj podrobne opise, kaj te funkcije pono, in za njihov popolneji
  seznam pa si moramo ogledati neposredno pomo.


  2.3.4.  Dopolnjevanje s tipko Tab

  Podobno kot mnoge priljubljene ukazne lupine v Unixu (bash, csh,
  tcsh...) tudi Emacs omogoa dopolnjevanje imen ukazov s tipko Tab.
  Resnici na ljubo je treba priznati, da dopolnjevanje ukazov v lupini
  bash posnema to v Emacsu. e ga uporabljamo v lupini, se nam bo
  prikupilo tudi v Emacsu.


  Poskusimo ga uporabiti tako, da vnesemo M-x search in nato pritisnemo
  Tab. Emacs bo imenu dodal pomiljaj in tako oznail, da obstaja mnogo
  imen, ki se vsa zano s tem nizom in imajo pomiljaj.  Ponovimo
  pritisk na tipko Tab in Emacs bo prikazal vsa imena, ki se zano z
  izpisanim nizom. Opazimo, da Emacs za ta seznam odpre novo okno. Emacs
  zaasno prepolovi prikazovalnik v dve okni. Eno vsebuje vmesnik, ki ga
  urejamo, drugo pa seznam vseh dopolnjenih imen, ki se zano na
  ,,search-''. e pritisnemo ukaz za prekinitev C-g, zapustimo okno z
  izbiranjem in se vrnemo v prvotni vmesnik.


  2.4.  Prvo berilo, pomo in strani info

  Emacs ima  za novince vgrajeno prvo berilo, ki nas popelje prek
  osnovnih ukazov za urejanje in funkcij, ki jih vsi uporabljamo. Teaj
  nas tudi naui, kako uporabljamo druge sisteme pomoi v Emacsu.


  Priporoam, da si vzamemo as in se sprehodimo skozi prvo berilo, e
  se elimo Emacsa res nauiti. Kot prikazuje zgornja preglednica,
  poenemo prvo berilo z akordom C-h t. Prvo berilo je namenjeno
  novincem, ki bi se radi samoizobrazili, narejeno pa je kot zaetni
  teaj.
  e poganjamo Emacs v oknih X, bomo opazili, da je skrajni menu v
  menujski letvi oznaen s Help. Ko raziskujemo, kaj nam Help nudi,
  najprej opazimo, da ima nekaj postavk v menuju na desni strani
  navedene akorde ukazov, s katerim jih na hitro poenemo.


  Za konec si lahko ogledamo, kolikna koliina dokumentacije je na
  voljo v Emacsu. Vpiimo M-x info ali C-h i, kar poene sistem Info,
  brskalnik po dokumentaciji v Emacsu.


  3.  Naini v Emacsu

  Naini (ang. mode) v Emacsu so povezana pravila obnaanja in sklopi
  funkcij, ki jih lahko vklapljamo ali izklapljamo in tako prilagodimo
  Emacs za uporabo v razlinih okoliinah. Z naini doseemo to, da je
  Emacs lahko enako primeren za pisanje dokumentacije, za programiranje
  v raznolikih jezikih (C, C++, Perl, Python, Java in e mnogih drugih),
  za izdelavo domae strani, za elektronsko dopisovanje, za branje
  noviarskih skupin, za vodenje seznama naih zmenkov in celo za
  igranje iger.


  Naini v Emacsu so preprosto knjinice s kodo v lispu, s katero
  razirjamo, prilagajamo, spreminjamo ali na kaken nain izboljujemo
  Emacs.


  3.1.  Glavni naini in podnaini

  Obstajata dve vrsti nainov: glavni naini (ang. major mode) in
  podnaini (ang. minor mode). Razlika med vrstama ni najbolj oitna,
  dokler se ne poglobimo vanju, a poskusimo jo opisati.


  Vsak vmesnik je v nekem trenutku le v enem glavnem nainu, poleg tega
  pa je lahko v ve podnainih. Glavni naini so v splonem vezani na
  programsko okolje ali posebna velika opravila, medtem ko so podnaini
  manje prilagoditve in manj specifini prironi programi, ki jih lahko
  sproti uporabljamo pri razlinih vejih opravilih.


  Tole je zvenelo precej abstraktno, zato raje ponazorimo s primerom.
  Ko piem neformatirano besedilo, uporabljam glavni nain, imenovan
  text-mode. Ta nain je bil nartovan za pripravo neformatiranega
  besedila, kakrno so datoteke README. Nain razume, kako mora
  prepoznavati besede in odstavke ter kaj uporabnik priakuje pri
  uporabi obiajnih tipk za navigacijo.


  Ko pripravljam besedilo, namenjeno ljudem, obiajno hoem, da bo tudi
  njegov videz dober. Besedilo mora biti ovito (ang. word-wrapped), tako
  da vrstice niso predolge in podobno. Da omogoim ovijanje besedila,
  poenem podnain auto-fill. Podnain poskrbi, da se vrstice po
  ,,priakovanju'' samodejno pravilno prelomijo, ko vnaam besedilo. Ker
  je to podnain, ga lahko uporabim tudi v drugih glavnih nainih.  Moje
  ,,priakovanje'', kaj naj se zgodi ob zakljuku vrstice pa je v text-
  mode razlino od tistega, ko sem na primer v nainu java-mode. Prav
  gotovo si ne elim, da bo javanska koda ovita na enak nain, kot je
  besedilo v slovenskem jeziku.  Vendar pa hoem, da je v komentarjih
  javanske kode besedilo ovito!  Podnain auto-fill je dovolj pameten,
  da bo to sam razreil.


  Ustvarjalci razlinih Emacsovih nainov so se zelo potrudili, da so
  zagotovili, da so tiste stvari, ki sodijo v podnaine, tudi res
  podnaini.


  e si ogledamo skico Emacsovega zaslona, opazimo, da nainovna vrstica
  kae, v katerem nainu ali nainih je Emacs v danem vmesniku.  V
  prikazanem primeru je Emacs v nainu ,,Lisp Interaction'', ki je
  privzeti nain. Nain je uporaben le za pisanje kode v lispu, a ker je
  veina Emacsa izvedena v njem, taka odloitev za privzeti nain prav
  gotovo ni slaba, ali pa?


  3.2.  Naini za programiranje

  Najvaneje, Emacs so ustvarili programerji za programerje.  Na voljo
  so visokokakovostni naini za skoraj vsakega od razirjenih
  programskih jezikov in tudi za nekaj manj pogostih. Tukaj bom na
  kratko opisal le nekatere od njih.


  Za veino programskih nainov je znailnih nekaj skupnih lastnosti.
  Pogosto bodo ti naini:


  *  skladenjsko barvali (ang. syntax highlight) jezikovne elemente,

  *  samodejno zamikali in formatirali kodo v skladu s programskim
     jezikom,

  *  podpirali kontekstno obutljivo in od programskega jezika odvisno
     pomo,

  *  samodejno podpira vmesnik do naega razhroevalnika,

  *  v menujsko letev dodaja nove menuje za podporo jeziku.


  Poleg tega obstaja nekaj nainov, ki niso v povezavi z jezikom, in
  pomagajo pri nalogah, ki so skupne mnogim programskim jezikom.  Pri
  tem mislim na podporo za programe za nadzor razliic, samodejno
  dodajanje komentarjev v kodo, izdelavo datotek Makefile, osveevanje
  dnevnikih zapisov (ang. change log) in podobno.


  e zdruimo vse te naine ter upotevamo zrelost in stabilnost
  Emacsove kode, ugotovimo, da je izdelek primerljiv komercialnim
  paketom integriranih razvojnih okolij (ang. integrated development
  environment, IDE) za jezike, kot sta C++ in Java. Poleg tega pa je
  Emacs na voljo brezplano, seveda!


  3.2.1.  C, C++ in Java

  Zaradi c-jevske skladnje sta jezika C++ in java jeziku C precej
  podobna, in tudi nain, ki podpira vse tri jezike, poleg njih pa e
  Objective-C in IDL, je le en sam.  Paket, v katerem je nain podprt,
  je zelo zrel in lepo zaokroen ter prihaja s standardno distribucijo
  Emacsa. Nain se imenuje cc-mode ali tudi CC Mode.


  e iemo njegovo najnovejo razliico ali e elimo zvedeti
  podrobnosti, obiimo spletno stran http://www.python.org/emacs/.





  3.2.2.  Perl

  V Emacs sta vgrajena dva naina za urejanje kode v perlu. Prvi se
  imenuje perl-mode (kot seveda priakujemo), drugi pa cperl-mode. Ne
  poznam zgodovinskih okoliin in razlogov, zakaj je prilo do dveh
  nainov, dokumentacija pa jih tudi ne omenja.  Zdi pa se, da je bil
  perl-mode razvit najprej. Je manj zmogljiv kot cperl-mode in ne
  prepozna nekaterih bolj zavitih perlovih jezikovnih tvorb.


  Osebno uporabljam in priporoam cperl-mode, ki kae, da se ga vzdruje
  precej pogosto, ima pa tudi skoraj prav vse funkcije, ki bi si jih
  kdajkoli elel.  Njegova zadnja razliica je dostopna na strani:
  ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs.


  Ne verjemite mi slepo na besedo. Raje preskusite oba naina in se
  odloite za tistega, ki vam bolj ustreza.


  3.2.3.  Python

  Python, zelo priljubljen skriptni jezik, ima tudi Emacsov nain, s
  katerim je podprt. Kot lahko poroam, se ta nain ne razirja z GNU
  Emacs, pa pa le z XEmacs. Deluje pa v obeh urejevalnikih prav dobro.


  Paket za podporo nainu python-mode lahko pridobimo z uradne pythonove
  spletne strani http://www.python.org/emacs/python-mode/.


  3.2.4.  Drugi naini

  Poleg e natetih je na voljo programerjem e mnogo mnogo drugih
  nainov. Ti naini pomagajo pri:


  *  ukaznih lupinah (Bash, sh, ksh, csh...),

  *  awk, sed, tcl...

  *  datotekah Makefile,

  *  dnevnikih zapisih (ang. change logs),

  *  dokumentaciji,

  *  razhroevanju


  In e veliko ve. Zadnji razdelek tega spisa pojasnjuje, kje lahko
  najdemo druge naine in dodatke za Emacs.


  3.3.  Pisanje

  udoviti Emacsovi naini niso omejeni le na pomo pri pisanju kode.
  Tudi pisci vsakovrstne dokumentacije lahko s pridom uporabljamo
  obiren nabor Emacsovih nainov.


  3.3.1.  rkovanje (nain ispell )

  Avtorji razlinih vrst dokumentacije od asa do asa potrebujemo
  orodje za preverjanje pravilnosti rkovanja (ang. spellchecking). e
  smo namestili program GNU ispell, lahko uporabimo ukaz M-x ispell in
  poenemo rkovanje trenutnega vmesnika. e rkovalnik najde besedo, ki
  je ne pozna, predlaga za zamenjavo podobne besede iz slovarja in nam
  omogoi, da izmed njih izberemo eno ali nobene. Po zmonostih je
  podoben mnogim razirjenim neprostim rkovalnim paketom.


  3.3.2.  HTML (nain html-helper )

  e moramo od asa do asa ali celo pogosteje pripraviti spis v zapisu
  HTML, bomo morebiti uporabili nain html-helper-mode. Paket je
  dostopen na strani http://www.santafe.edu/~nelson/tools/ kot tudi
  spremljajoa dokumentacija in dodatki.


  Kot kae ime paketa, nain html-helper-mode predvsem pomaga tistim
  piscem, ki se lotevajo pisanja dokumentov v zapisu HTML na roko, na
  star nain.


  3.3.3.  TeX ( tex-mode )

  e piemo v TeXu, je prirono, da nam Emacs sproti barva ukaze,
  besedilo v nekaterih oklepajih in kar je e te oblikovne krame. Nain
  tex-mode se potrudi in stori to samodejno.


  eprav ne piem ve pogosto v TeXu, mi je neko ta nain mono
  pomagal, da je postalo pisanje pregledneje.


  3.3.4.  SGML ( sgml-mode )

  Spis, ki ga pravkar berete, je bil pripravljen v jeziku SGML in
  kasneje zelo verjetno pretvorjen v drug zapis, ki ga berete. Nain
  sgml-mode podpira osnove dokumentov SGML: preverjanje njihove
  skladenjske pravilnosti, skladenjsko barvanje, premikanje po znakah
  in poleg tega e veliko ve. Nain je del standardne distribucije
  Emacs.


  3.4.  Drug naini

  Seveda, poleg natetih obstaja e mnogo drugih nainov, ki nam
  olajujejo ivljenje. Vzorec bolj priljubljenih za pokuino:


  3.4.1.  Nadzor razliic (nain vc )

  Nain vc je vmesnik do razirjenih sistemov za nadzor razliic (RCS,
  SCCS in CVS). Omogoa preprost vnos in povrnitev nadzorovanih datotek,
  pomaga pri upravljanju z razliicami in izdajami programov ter
  podobno. Je del standardne distribucije Emacsa in je obirno opisan v
  Emacsovi dokumentaciji.


  3.4.2.  Nain za ukazno lupino

  Zakaj bi morali skoiti v drugo okno X ali navidezno konzolo zgolj
  zaradi tega, ker bi radi pognali nekaj ukazov v ukazni lupini?
  Storimo to v Emacsu in si prihranimo nekaj truda. :-)


  Ukaz M-x shell v Emacsovem vmesniku poene ukazno lupino.  V njej
  lahko postorimo skoraj vse, kar lahko v pravi ukazni lupini. Ne moremo
  pa poganjati programov, ki zahtevajo celo okno, taka sta na primer vi
  ali pine. Emacs se s pravo ukazno lupino pogovarja v ozadju.
  Ker je ta nain del standardne distribucije, najdemo navodila za
  njegovo uporabo v priloeni dokumentaciji.


  3.4.3.  Telnet in FTP

  Zakaj bi morali preklopiti v drugo okno X ali navidezno konzolo zgolj
  zaradi tega, ker bi radi pognali programa telnet ali ftp?  Tudi za to
  ni pravega razloga, oboje lahko storimo v Emacsu in si prihranimo
  nekaj truda. (Ali ste e opazili vzorec?)


  Enako kot ukazno lupino v Emacsu poenemo tudi programa telnet ali
  ftp. Uporabimo ukaza M-x telnet ali M-x ftp in ju preskusimo sami.
  Dokumentacija pa nam bo pomagala pri razreevanju grenkih podrobnosti.


  3.4.4.  Man

  Zakaj bi morali preklopiti v drugo okno X ali navidezno konzolo zgolj
  zaradi tega, ker bi radi prebrali strani man? To lahko storimo iz
  Emacsa in si prihranimo nekaj truda. (Obljubljam, da se ne bom ve
  ponovil.)


  Enako kot ukazno lupino v Emacsu poenemo tudi pregledovalnik strani
  man. Uporabimo ukaz M-x man in ga preskusimo. Ve pa lahko preberemo v
  dokumentaciji.


  3.4.5.  Ange-FTP

  Citat iz navodil za  ange-ftp:


       Ta paket se trudi narediti dostop iz GNU Emacs do datotek in
       imenikov prek protokola FTP kar najbolj preprost in pregle
       den. Podmnoica skupnih rutin za delo z datotekami je
       razirjena za delo s programom FTP.



  To pomeni, da do datotek v oddaljenih sistemih dostopamo, kot da bi
  bile v lokalnem sistemu. e moramo urediti datoteko v drugem sistemu,
  Emacsu z imenom sistema v poti do datoteke povemo, kje naj jo odpre,
  Emacs pa bo poskrbel za vse ostalo in pridobil datoteko z oddaljenega
  sistema.  Ko datoteko shranimo z obiajnim ukazom C-x C-s, bo ange-ftp
  prestregel klic funkcije za shranjevanje in sam datoteko zapisal v
  oddaljeni sistem.


  Skladnja za oznaevanje datotek je takole razirjena... Datoteko
  ,,moja-datoteka.txt'' uporabnice ,,metka'' v njenem imeniku
  ,,naloga/podatki'' oddaljenega sistema ,,kjer.koli.si'' odpremo z
  ukazom C-x f, tako da za pot navedemo:


       /metka@kjer.koli.si:naloga/podatki/moja-datoteka.txt



  Tudi ta paket je del standardne distribucije Emacsa in obirneja
  navodila zanj najdemo v Emacsovi standardni dokumentaciji.



  Zahvaljujem se Etiennu Grossmannu (etienne@anonimo.isr.ist.utl.pt) za
  zgornji primer.


  4.  Emacs po meri

  Emacs prilagodimo po svoji meri, tako da spremenimo kodo v lispu.
  Nastavimo lahko spremenljivke, ki vplivajo na obnaanje Emacsa ali
  dodamo nove funkcije, s katerimi doseemo nove uinke ali pa z njimi
  nadomestimo obstojee funkcije.


  4.1.  Zaasno prilagojevanje

  e poskuamo Emacs prilagoditi, bomo zelo verjetno to najprej storili
  tako, da bodo spremembe le zaasne. e ga pri prilagojevanju (ang.
  customization) zelo mono polomimo, zadoa, da Emacs zapustimo z
  obiajnim ukazom C-x C-c in ga ponovno poenemo.

  Ko pa se odloimo, katere spremembe elimo ohraniti za vselej, jih
  lahko dodamo v svojo osebno datoteko .emacs in njihov uinek se bo
  poznal ob vsakem zagonu Emacsa. O tem govorimo v naslednjih razdelkih.


  4.1.1.  Prirejanje vrednosti spremenljivkam

  Emacs najpreprosteje spremenimo, tako da spremenljivkam, od katerih je
  odvisno njegovo obnaanje, doloimo prave vrednosti. Lispova koda, s
  katero spremenljivki priredimo vrednost, je videti takole:


  (setq ime-spremenljivke nova-vrednost)




  Pri tem je ime-spremenljivke ime spremeljivke, ki ji prirejamo
  vrednost, nova-vrednost pa vrednost, ki jo prirejamo (V lispovem
  argonu pravimo, da spremenljivko poveemo z vrednostjo.) Lispova
  funkcija setq ustreza prireditvenemu operatorju (obiajno
  predstavljenim z znakom =) v drugih programskih jezikih.


  Opomba: Na tem mestu preskakujem mnoge podrobnosti, da bi ostal dovolj
  razumljiv. Mnogi poleg te uporabljamo e podobne lispove funkcije,
  kakrna je set ali celo setq-default. e ste resnino radovedni, emu
  so namenjene, si oglejte Emacsov prironik o jeziku lisp.


  Oglejmo si vrstico iz moje datoteke .emacs:


  (setq-default transient-mark-mode t)




  Spremenljivka transient-mark-mode nadzoruje, ali bo obmoje, ki ga
  izberemo, poudarjeno oznaeno ali ne. V mnogih uporabnikih programih
  v GUI se klik mike in njen premik uporablja za oznaevanje besedila,
  pri emer to postane oznaeno z inverznim videom ali ustreznimi
  barvami. Emacs stori podobno, e je spremenljivka transient-mark-mode
  nastavljena na neprazno (ang. non-nil) vrednost.



  Kakno vrednost?


  Poasi. Potrebna je kratka zastranitev. Veina programskih jezikov
  pozna logini vrednosti resnino in neresnino. V jezikih C in C++ je
  logina vrednost spremenljivke enaka resnino, e je njena vrednost
  razlina od ni. V perlu je logina vrednost enaka resnino, e je
  vrednost spremenljivke razlina od ni ali od null.
  ???????Prevod???????  V lispu gre za enako idejo, le imena in oznake
  so drugane.


  Logina vrednost resnino je v lispu obiajno oznaena kot t in
  neresnino (ali null) kot nil. Enako kot v drugih jezikih je vsaka
  vrednost, ki je razlina od neresnino, vzeta kot resnino.


  Da si ogledamo popolni opis, na kaj vse vpliva spremenljivka
  transient-mark-mode, uporabimo pomo na zvezi. Vpiimo C-h v ali M-x
  describe-variable in nato transient-mark-mode. e smo leni, si lahko
  pomagamo s tipko za dopolnjevanje Tab. Vpiimo le zaetni kos imena
  spremenljivke in pritisnimo tipko Tab. e smo e zapisali dovoljen
  del njenega imena, da jo lahko Emacs enoznano doloi, bomo takoj
  dobili njeno ime izpisano v celoti.


  Druga spremenljikva, ki jo pogosto nastavljamo, je fill-column.
  Spremenljivka pove, kako irok je zaslon, da more Emacs v nainu auto-
  fill-mode glede na to primerno ovijati besedilo. Da bi si najbolj
  nazorno ogledali njen uinek, jo nastavimo na absurdno majhno
  vrednost:


  (setq fill-column 20)




  A zgolj zapis tega izraza e ne stori ni.  Emacsu moramo povedati,
  naj zapisani ukaz tudi izvede (ang. evaluate).  Utripalko postavimo na
  konec izraza in vtipkajmo C-x C-e, kar poklie funkcijo eval-last-
  sexp, e vas e zanima.  Ko storimo to, lahko opazimo, da se je v
  pogovornem oknu na dnu zaslona izpisala vrednost 20 (ali karkoli ste
  uporabili za nastavitev). To je tudi vrednost funkcije, ki smo jo
  pravkar uporabili.


  Da se prepriamo, kako ovijanje po novem deluje, vpiimo stavek ali
  dva.  e imamo omogoen podnain auto-fill-mode (eprav ga verjetno
  nimamo), lahko opazimo, da se besedilo ovija pred 20 stolpcem. Drugae
  pa zatem, ko smo vnesli nekaj besedila, pritisnemo M-q, kar poklie
  funkcijo fill-paragraph. Ta pa ovije besedilo zadnjega odstavka.


  4.1.2.  Zveze z datotekami

  Emacs lahko tako prilagodimo, da bo doloeno opravilo samodejno
  naredil vsaki, ko odpremo datoteko doloenega tipa. To je podobno
  nekaterim GUI, ki samodejno poenejo namenski program (ang.
  application) vsaki, ko kliknemo na ikono datoteke doloenega tipa.
  Ali elimo na primer, da Emacs samodejno preklopi glavni nain v text-
  mode vsaki, ko odpremo datoteko s konnico .txt? V resnici se je to
  e zgodilo. :-) No, pa naroimo Emacsu, naj datoteko ,,README'' odpre
  vselej v nainu text-mode.


  (setq auto-mode-alist (cons '("README" . text-mode) auto-mode-alist))




  Hmm?


  Ne da bi se poglobili v programiranje v lispu, ki za obutek
  razumevanja ni nujno potrebno, a kodi tudi ne, e se ga nauimo,
  zaenkrat zadoa, da povemo, da spremenljivka auto-mode-alist vsebuje
  seznam parov. Vsak par je sestavljen iz regularnega izraza in iz imena
  Emacsovega naina. e ime datoteke, ki jo odpiramo, ustreza kateremu
  od regularnih izrazov (v naem primeru nizu ,,README''), bo Emacs
  pognal nain, ki smo ga podali.


  Na prvi pogled zamotana skladnja zgornjega primera je takna zaradi
  tega, ker dodajamo seznamu parov nov par. Najbr ne bi eleli, da
  spremenljivki auto-mode-alist zgolj priredimo novo vrednost in pri tem
  izgubimo vse e nastavljene pare.


  In e bi eleli, da Emacs samodejno uporabi nain html-helper-mode
  vsaki, ko odpremo datoteko s konnico .html ali .htm, bomo v svojo
  datoteko .emacs dodali vrstici:


  (setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-mode-alist))
  (setq auto-mode-alist (cons '("\\.htm$" . html-helper-mode) auto-mode-alist))




  tevilo monosti je resnino neomejeno.


  4.2.  Uporaba datoteke .emacs

  Po tem ko smo v Emacsu e preiveli nekaj asa in dobili obutek, kaj
  lahko storimo s prilagojevanjem, bomo morebiti eleli prilagoditve
  narediti za trajne (ali vsaj do naslednje spremembe). e uporabljamo
  Emacs vsak dan, bomo opazili, da velikost datoteke .emacs s asom
  naraa.  To je zelo drobro, saj kae, da smo ugotovili, kako naj nam
  Emacs slui tako, kot hoemo, da bo. Velika koda je, da se enako ne
  obnaa e ve programov.


  e se morebiti e nismo vpraali, vsaki ko poenemo Emacs, ta najprej
  v naem domaem imeniku poie datoteko .emacs.  V njej je koda v
  lispu, ki jo elimo pognati ob vsakem zagonu programa Emacs, s imer
  omogoimo prilagojevanje, o katerem smo pravkar govorili.


  e en primer iz moje datoteke  .emacs:


  (setq inhibit-startup-message t)




  Spremenljivka inhibit-startup-message odloa, ali bo Emacs ob zagonu
  izpisal pozdravno sporoilo ali pa ga ne bo.  Ko bomo Emacs
  uporabljali e nekaj asa, nam bo pozdravljanje verjetno lo poteno
  na ivce. Sam sem znal uporabiti pomo in poiskati nain, kako
  pozdravljanje izklopim.


  Za nalogo v domaem imeniku ustvarimo datoteko .emacs in vanjo dodajmo
  navedeno vrstico.  Zapustimo Emacs in ga ponovno poenimo. Pozdravnega
  sporoila ob novem zagonu ne bi smelo biti.


  Pogosto bomo v zvezi z Emacsom ali kaknim od spremljajoih paketov
  prebrali nasvet, kako lahko s primerno kodo v datoteki .emacs
  prilagodimo njihovo delovanje.


  Datoteka z odgovori na pogosto zastavljena vpraanja, dosegljiva z C-h
  F, vsebuje nekaj predlogov v zvezi s prilagojevanjem, kar nas bo
  morebiti zanimalo.


  4.3.  Paket za prilagojevanje

  Ko je Emacs s asom vse bolj rasel in se razvijal, se je nekdo
  domislil, da ,,mora obstajati laji nain za novince, da si ga
  prilagodijo''.  Nastal je paket za prilagojevanje customize.


  Paket ponuja preprosteje prilagojevanje delov Emacsa. Preskusimo ga
  tako, da v glavnem menuju Help obiemo podmenu Customize ali pa
  vtipkamo M-x customize.


  Monosti za prilagojevanje so razvrene v logine skupine, denimo
  ,,Editing'', ,,Programming'', ,,Files'' in podobno. Nekatere skupine
  vsebujejo nove podskupine.


  e si Emacs prilagodimo s pomojo tega vmesnika, bo Emacs spremembe
  vpisal v nao datoteko .emacs. To je zelo prirono, saj si lahko
  spremembe ogledamo in jih po potrebi sami popravimo.


  Ker ne uporabljam vmesnika za prilagojevanje ,,Customize'', al ne
  morem veliko povedati o njem.


  4.4.  Zaslon oken X

  Kot vsak lepo vzgojen namenski program tudi Emacs upoteva sredstva
  (ang. resource) oken X. S tem poudarjamo, da lahko zaetne nastavitve,
  denimo za barve, geometrijo okna in podobne lastnosti oken X, opravimo
  na enak nain kot pri programih xterm, nxterm in sorodnih.


  V ilustracijo navajam ustrezne vrstice iz svoje datoteke ~/.Xdefaults:


  emacs*Background: DarkSlateGray
  emacs*Foreground: Wheat
  emacs*pointerColor: Orchid
  emacs*cursorColor: Orchid
  emacs*bitmapIcon: on
  emacs*font: fixed
  emacs.geometry: 80x25




  Opomba prevajalca: Uporabniki, ki piemo v razporedu ISO-8859-2,
  imenovanem tudi Latin-2, bomo raje uporabili enakovredno pisavo s
  umniki, e jo seveda imamo nameeno v sistemu:


  emacs*font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-2




  Za obirneja navodila o sredstvih X si moramo ogledati strani man, ki
  so posveene oknom X, man X.


  Chris Gray (cgray4@po-box.mcgill.ca) pripominja:


       Zdi se, da se v distribuciji Debian datoteka ~/.Xdefaults ne
       uporablja. Namesto vanjo lahko postavimo ukaze z enakim
       uspehom v datoteko /etc/X11/Xresources/emacs, pa bomo dobili
       enako pisane barve, kot ko smo uporabljali RedHat.



  5.  Priljubljeni paketi

  Poleg mnogih Emacsovih nainov je na voljo e veliko dodatnih paketov
  (ang. package). Imenujem jih paketi, ker so ve kot le novi naini.
  Obiajno vkljuujejo posebne prirone programe (ang. utility) ali pa
  so tako obseni, da bi bila oznaka ,,naini'' do njih krivina.  V
  nekaterih primerih pa gre za tako programsko opremo, ki razirja ali
  zdruuje ostale Emacsove naine ali pakete. Definicija ni popolnoma
  jasna, a kakrna je, takna zadoa.


  5.1.  VM (potni program)

  Navedek iz odgovorov na pogosto zastavljena vpraanja o VM:


       VM (View Mail) je podsklop v Emacsu za branje in
       odpoiljanje pisem znotraj Emacsa.  Vsebuje ukaze, ki jih
       priakujemo in potrebujemo za delo s poto, na primer
       pripravo odgovorov na pisma, shranjevanje pisem v mape,
       brisanje pisem in podobno. Poleg teh obstajajo e ukazi za
       pripravo izvlekov in povzetkov (ang. digest), prepoiljanje
       sporoil, njihovo urejanje glede na razline kriterije...



  Ko sem zaenjal z Emacsom, sem nekaj asa uporabljal VM. Zdelo se mi
  je, da je prava zamenjava za Pine, Elm ali veino podobnih potnih
  programov. A za branje pote in novic elim uporabljati le en program.
  VM se razvija e danes in je dobro podprt.


  Na voljo je na spletni strani http://www.wonderworks.com/vm/.


  5.2.  Gnus (program za poto in novice)

  Navedek iz prironika za  GNUS:


       Gnus je laboratorij za branje sporoil.  Omogoa, da si sko
       raj vse stvari ogledamo, kot bi bile novice iz noviarske
  skupine.  Z njim lahko beremo elektronsko poto, pregledu
  jemo imenike ali uporabljamo program ftp, z njim lahko celo
  beremo noviarske skupine.



       Gnus poskua ponuditi uporabnikom, ki berejo noviarske
       skupine, tisto, kar daje Emacs uporabnikom, ki urejajo
       besedilo. Gnus uporabnika pri tem nikakor ne omejuje in mu
       pomaga raziriti Gnus, da se obnaa, kakor uporabnik eli.
       Program ne sme upravljati z ljudmi, ti morajo imeti monost,
       da s programom storijo ali starejo, karkoli elijo!



  Kot ste morebiti opazili, trenutno uporabljam za branje pote in
  noviarskih skupin paket GNUS. GNUS se e vedno razvija in je dobro
  podprt.


  Na voljo je na spletni strani: http://www.gnus.org/.


  5.3.  BBDB (rollodex)

  BBDB je ime za Insidious Big Brother Database, program tipa rollodex.
  Deluje dobro v povezavi z drugimi Emacsovimi programi za poto
  (vkljuno z VM in GNUS).


  Na voljo je na spletni strani:
  http://pweb.netcom.com/~simmonmt/bbdb/index.html.


  5.4.  AucTeX (e en nain za TeX)

  AucTeX je e en nain za urejanje datotek TeX.


  Navedek s spletne strani za AucTeX:


       AUC TeX je razirljivi paket za pisanje in oblikovanje
       datotek v zapisu TeX za veino razliic urejevalnika GNU
       Emacs. Podprtih je mnogo razlinih paketov s texovimi
       makroukazi, vkljuno s paketi AMS TeX, LaTeX in TeXinfo.



  Na voljo je na spletni strani: http://sunsite.auc.dk/auctex/.


  6.  Drugi viri

  Ta razdelek govori o knjigah, spletnih straneh, noviarskih skupinah,
  seznamih elektronskih naslovov in podobnih krajih, kjer je najti
  gradivo o Emacsu.


  6.1.  Knjige

  Na voljo je le nekaj zares dobrih knjig za uenje Emacsa.  Poleg tega
  pa bomo ugotovili, da mnoge knjige o Linuxu in Unixu vsebujejo
  poglavje, ki je namenjeno Emacsu (in urejevalniku vi).


  6.1.1.  Learning GNU Emacs

  Avtorji: Debra Cameron, Bill Rosenblatt, Eric S. Raymond


  Izdajatelj: O'Reilly & Associates - http://www.ora.com/


  Knjigo lahko kupimo s popustom pri Amazon.com z njihovim druabnikim
  programom: http://www.amazon.com/exec/obidos/ASIN/1565921526/


  Komentar: To je verjetno najbolja knjiga za novince. Potem ko smo si
  ogledali priujoi HOWTO in se sprehodili po odgovorih na pogosto
  postavljena vpraanja, je ta knjiga najprimerneji in najbolj izrpni
  vodnik.


  6.1.2.  Writing GNU Emacs Extensions

  Avtor: Bob Glickstein


  Izdajatelj: O'Reilly & Associates - http://www.ora.com/


  Knjigo lahko kupimo s popustom pri Amazon.com z njihovim druabnikim
  programom: http://www.amazon.com/exec/obidos/ASIN/1565922611/


  Komentar Potem ko smo Emacs e uporabljali nekaj asa in se odloili,
  da napiemo svoj lastni nain ali pa opravimo bolj zahtevno
  prilagoditev, nam bo morebiti koristila ta knjiga.  etudi nas ne
  poskua nauiti jezika lisp, vsebuje kratek uvod v ta jezik.


  6.1.3.  Programming in Emacs Lisp: An Introduction

  Avtor: Robert J. Chassell


  Iz datoteke  README:


       To je osnovni uvod v programiranje v Emacsovem jeziku lisp
       za ljudi, ki niso programerji in ki jih programiranje morda
       niti ne zanima, a bi si radi prilagodili ali razirili svoje
       raunalniko okolje.



  Prironik je v celoti na voljo za brezimni ftp v streniku  GNU FTP:
  ftp://prep.ai.mit.edu/gnu/emacs/.


  Knjiga v lepem tisku je na voljo tudi pri Amazon.com prek njihovega
  druabnikega programoma:
  http://www.amazon.com/exec/obidos/ASIN/1882114418/jeremydzawodny/.


  Komentar: Knjiga je dober uvodni prironik v Emacsov lisp in je
  primerna tudi za tiste, ki nismo dolgometrani programerji.




  6.1.4.  The GNU Emacs Lisp Reference Manual

  Avtor: Richard Stallman


  Izdajatelj: The Free Software Foundation - http://www.fsf.org/


  Prironik je v celoti na voljo za brezimni ftp v streniku GNU FTP:
  ftp://prep.ai.mit.edu/gnu/emacs/.


  Komentar: Knjiga je kljuni vodnik (ang. definitive guide) za
  programski jezik Emacs Lisp.


  6.2.  Spletna mesta

  6.2.1.  EMACSulation

  EMACSulation je ime kolumna, ki ga pie Eric Marsden za revijo na
  zvezi Linux Gazette, dostopno na spletnem mestu
  http://www.linuxgazette.com/. Ob asu tega pisanja je bil zadnji
  lanek http://www.linuxgazette.com/issue39/marsden.html. Ob koncu
  lanka so napotki, kje najti prejnje dele.


  6.3.  Noviarske skupine

  Poveimo se s svojim krajevnim strenikom za noviarske skupine in
  poiimo tiste, ki v imenu vsebujejo niz ,,emacs'', pa jih bomo gotovo
  nali nekaj.  Moj strenik posreduje naslednje skupine:


  *  comp.emacs

  *  comp.emacs.sources

  *  gnu.emacs

  *  gnu.emacs.bug

  *  gnu.emacs.help

  *  gnu.emacs.sources


  6.4.  Seznami elektronskih naslovov

  Edini seznam elektronskih naslovov, za katerega vem, da je namenjen
  uporabnikom Emacsa, zdruuje uporabnike razliice Emacsa za
  Micro$oftov sistem Windows NT. Ve o tem v seznamu odgovorov na
  pogosto zastavljena vpraanja o NT-Emacs
  http://www.cs.washington.edu/homes/voelker/ntemacs.html.


  6.5.  Arhiv za Emacsov lisp

  Navedek iz datoteke README iz arhiva za Emacsov lisp:


       Arhivi za Emacsov lisp v streniku ftp.cis.ohio-state.edu
       vsebujejo razline koke in pakete kode v Emacsovem lispu.
       Emacsov lisp je jezik za raziritev urejevalnika GNU Emacs,
       ki ga izdaja Free Software Foundation.  eprav je veina
       kode za Emacsov lisp vkljuena v distribucijo za GNU Emacs,
  je mnogo ljudi napisalo pakete za vmesnike do drugih siste
  mov, za boljo podporo urejanju v programskih jezikih, ki
  jih uporabljajo, dodalo povsem nove funkcije ali pa spreme
  nilo privzeto obnaanje Emacsa.  Veino vsebine tega arhiva
  so pripravili posamezniki, ki so jo distribuirali v javnost
  prek internetnih seznamov elektronskih naslovov ,,info-
  emacs'' ali ,,info-gnu-emacs'' in noviarskih skupin
  ,,comp.emacs'', ,,gnu.emacs'' ali ,,gnu.emacs.sources''.



  Arhivi so na voljo za brezimni dostop ftp na spletnem mestu
  ftp://ftp.cis.ohio-state.edu/pub/emacs-lisp/.


  Opomba: Kolikor vem, arhiv za Emacsov lisp poasi zastareva.  Nove ali
  osveene pakete na njem vidim le poredko, eprav vem, da obstajajo in
  da so celo priobeni v noviarski skupini comp.emacs.sources.
  (Prosim, popravite me, e se motim.)


  7.  Zahvale

  Naslednji pisci so pomagali pri nastajanju tega spisa.


  *  Robert Vollmert rvollmer@gmx.net

  *  Larry Brasfield larrybr@seanet.com

  *  Etienne Grossmann etienne@anonimo.isr.ist.utl.pt

  *  Thomas Weinell kf6mli@amsat.org

  *  Adam C. Finnefrock adam@bigbro.biophys.cornell.edu

  *  Chris Gray cgray4@po-box.mcgill.ca

  *  Robert J. Chassell bob@rattlesnake.com

  *  Isaac To kkto@csis.hku.hk

  *  Matteo Valsasna valsasna@elet.polimi.it

  *  Tijs van Bakel smoke@casema.net
