  Emacs za zaetnike
  Jeremy D. Zawodny, jzawodn@wcnet.org, Prevod Andrej Grauf,
  andrej.grauf@amis.net
  v1.7, 14. oktober 1999, 22. april 2000

  Ta dokument uvaja uporabnike sistema Linux v urejevalnik Emacs. Pred
  postavljam, da imate vsaj minimalno poznavanje urejevalnika vi oz.
  podobnih urejevalnikov. Zadnjo razliico tega dokumenta lahko obiajno
  najdete na naslovu http://www.wcnet.org/jzawodn/emacs/
  ______________________________________________________________________

  Kazalo


  1. Uvod

     1.1 Avtorske pravice
     1.2 Ciljna publika in namen
     1.3 Kaj je Emacs?
        1.3.1 Razliice
        1.3.2 Pridobivanje urejevalnika Emacs

  2. Zagon Emacsa

     2.1 Zagon & zaustavljanje Emacsa
        2.1.1 Kaj boste videli?
           2.1.1.1 Vrstica z meniji
           2.1.1.2 Statusna vrstica in Mini-buffer
     2.2 Nekaj izrazov
        2.2.1 Bufferji & datoteke
        2.2.2 Toka (point) & podroje (region)
        2.2.3 Okna
        2.2.4 Okvirji
     2.3 Tipkovnica - osnove
        2.3.1 Ukazne tipke (Meta, Esc, Control in Alt)
        2.3.2 Premikanje po Bufferju
        2.3.3 Bistveni ukazi
        2.3.4 Dopolnjevanje ukazov s pomojo tipke Tab
     2.4 Vadnica, pomo, & informacije

  3. Naini urejevalnika Emacs

     3.1 Naini Major v primerjavi z naini Minor
     3.2 Programski naini
        3.2.1 C/C++/Java
        3.2.2 Perl
        3.2.3 Python
        3.2.4 Ostali
     3.3 Avtorstvo
        3.3.1 Preverjanje rkovanja (nain
        3.3.2 HTML (nain
        3.3.3 TeX (
        3.3.4 SGML (
     3.4 Ostali naini
        3.4.1 Nadzor razliic (
        3.4.2 Nain lupine
        3.4.3 Telnet in FTP
        3.4.4 Man
        3.4.5 Ange-FTP

  4. Prilagajanje urejevalnika Emacs

     4.1 Zaasne prilagoditve
        4.1.1 Dodeljevanje spremenljivk
        4.1.2 Povezanost datotek
     4.2 Uporaba datoteke
     4.3 Prilagoditveni paket
     4.4 Prikaz v X Windows

  5. Priljubljeni paketi

     5.1 VM (Pota)
     5.2 Gnus (pota in novice)
     5.3 BBDB (rollodex)
     5.4 AucTeX (e en nain TeX)

  6. Ostali viri

     6.1 Knjige
        6.1.1 Uenje uporabe urejevalnika GNU Emacs
        6.1.2 Pisanje raziritev za urejevalnik GNU Emacs
        6.1.3 Programiranje v Lispu: Uvod
        6.1.4 Referenni prironik za programski jezik Lisp v urejevalniku GNU Emacs
     6.2 Spletne strani
        6.2.1 EMACSulation
     6.3 Noviarske skupine
     6.4 Potni seznami
     6.5 Arhiv jezika Lisp za Emacs

  7. Zasluge



  ______________________________________________________________________

  1.  Uvod

  1.1.  Avtorske pravice

  Avtorske pravice (C) 1998 - 1999 Jeremy D. Zawodny. Razirjanje in
  spreminjanje tega dokumenta je dovoljeno pod pogoji navedenimi v
  Splonem dovoljenju GNU. Izvod na zvezi lahko vedno najdete na
  http://www.gnu.org/copyleft/gpl.html


  1.2.  Ciljna publika in namen

  Ta dokument je namenjen uporabnikom sistema Linux, ki bi se radi
  nauili nekaj malega o programu Emacs in ga tudi preizkusili. Prvotno
  je bil zasnovan kot osnutek kratkega teaja, ki naj bi ga vodil na
  sreanju skupine uporabnikov sistema Linux iz okolice Toleda:
  http://www.talug.org/. Od takrat pa se je zaradi kopice koristnih
  povratnih informacij, ki sem jih prejel od skupine, nekoliko raziril.
  Ve informacij lahko najdete v razdelku Zasluge.


  V tem dokumentu ni ni, kar bi bilo namenjeno izkljuno sistemu Linux.
  Nanaa se na vse razliice sistema Unix in celo za Emacs, ki deluje v
  sistemu Microsoft Windows. Ker pa je dokument del projekta
  dokumentacije za sistem Linux, naj poudarim, da je bil razvit za
  uporabnike sistema Linux.


  Tisti, ki imate raje ime GNU/Linux kot samo ``Linux'' (preberite
  http://www.gnu.org/gnu/linux-and-gnu.html in videli boste, zakaj sta
  moni obe razliici imen) lahko mirne volje vsa imena za sistem Linux,
  ki se pojavijo v tem dokumentu zamenjate z imenom GNU/Linux. eprav se
  strinjam z utemeljitvijo in dobro namerno idejo, se mi zdi popolnoma v
  redu uporabljati izraz GNU/Linux.


  1.3.  Kaj je Emacs?

  Emacs razlinim ljudem predstavlja razline stvari. Odvisno od tega,
  koga boste vpraali, lahko dobite naslednje odgovore:


  *  Urejevalnik teksta

  *  Odjemalec pote

  *  Program za branje novic

  *  Word Processor


  *  Religija

  *  Integrirano razvojno okolje

  *  Karkoli pa elite da je!


  Predpostavili bomo, da gre za urejevalnik teksta - neverjetno
  prilagodljiv urejevalnik teksta. V to vpraanje se bomo poglobili e
  nekoliko kasneje. Avtor urejevalnika Emacs je Richard Stallman
  (ustanovitelj Free Software Foundation: http://www.fsf.org/ in
  projekta GNU http://www.gnu.org/), ki ga vzdruje e danes.


  Emacs je eden izmed najbolj priljubljenih in najbolj zmogljivih
  urejevalnikov teksta, ki se uporablja v sistemu Linux (in Unix). Po
  priljubljenosti zaostaja samo za urejevalnikom vi. Poznan je po svojem
  bogatem naboru funkcij, sposobnosti za enostavno prilagajanje in
  majhnemu tevilu napak.  Velik nabor funkcij in sposobnost
  prilagajanja sta rezultat njegove zasnove in vgradnje. Ne da bi se
  spual v podrobnosti, bom povedal, da Emacs ni ``samo urejevalnik''.
  Je urejevalnik, v veini napisan v programskem jeziku Lisp. Jedro
  urejevalnika Emacs predstavlja prevajalnik Lispa napisan v jeziku C.
  Samo najosnovneji deli Emacsa so napisani v jeziku C. Veina
  urejevalnika je dejansko napisana v programskem jeziku Lisp. Torej, v
  Emacs je na nek nain ``vgrajen'' celoten programski jezik, ki ga
  lahko prilagajate, dopolnjujete in spreminjate njegovo obnaanje.


  Emacs je tudi eden izmed najstarejih urejevalnikov. Dejstvo, da ga je
  v zadnjih 20-ih (?) letih uporabljalo na tisoe programerjev, kae na
  to, da je na voljo veliko dodatnih paketov. Ti dodatki vam omogoajo
  poeti z Emacsom stvari, o katerih Stallman verjetno sploh nikoli ni
  sanjal, ko je priel delati na Emacsu. Ve o tem v nadaljevanju.


  Obstaja veliko spletnih strani in dokumentacije, ki vam nudi bolji
  pregled o urejevalniku Emacs, njegovi zgodovini in temah povezanih z
  njim. Teh stvari ne nameravam ponavljati in vam predlagam, da si
  ogledate razdelek ``Ostali viri'' tega dokumenta.


  1.3.1.  Razliice

  Dobro je, e povem, da obstajata dve razliici urejevalnika Emacs: GNU
  Emacs in XEmacs. Oba izhajata iz skupnega prednika in si delita veino
  funkcij. V tem dokumentu se bomo osredotoili na GNU Emacs
  (specifino, na razliico 20.3) veina stvari, ki jih boste tu
  prebrali, pa se ravno tako nanaa na XEmacs in prejnje razliice GNU
  Emacsa. V dokumentu bom to razliico enostavno imenoval z ``Emacs''.


  1.3.2.  Pridobivanje urejevalnika Emacs

  Emacs lahko dobite zelo enostavno. e uporabljate priljubljene
  distribucije Linuxa, kot so Debian, RedHat, Slackware, ali katero koli
  drugo, je Emacs verjetno dodan kot paket, ki ga lahko namestite iz
  vaega distribucijskega medija. e ga na tem mediju ni, lahko dobite
  njegovo izvorno kodo in ga sami prevedete.  Obiite spletno stran
  GNU, kjer boste nali tono lokacijo:
  http://www.gnu.org/software/emacs/emacs.html





  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 mogoe 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 nameen ali pa ni v vai 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 drati tipko Ctrl in potem pritisniti tipko x.  V tem
  primeru boste morali pritisniti in drati tipko Ctrl in za zakljuitev
  naloge pririsniti e tipko c.


  Verjetno se vam bodo na zaetku kombinacije tipk v Emacsu zdele udne,
  tuje in mogoe celo neprijetne -e posebej e ste prej uporabljali
  urejevalnik vi.  V nasprotju z urejevalnikom vi, Emacs nima razlinih
  nainov za urejanje teksta in izdajanje ukazov.


  e ponovimo: z ukazom emacs boste zagnali Emacs. S kombinacijo tipk C-
  x C-c pa ga boste zakljuili.


  2.1.1.  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 obiajno 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
  sporoilo.  Tudi to sporoilo sem izpustil in ga na sliki zamenjal z
  ``...''.  Pozdravno sporoilo vsebuje podatke o razliici urejevalnika
  Emacs, ki ga uporabljate in vas opozarja na pomo na zvezi in sorodno
  dokumentacijo.



  2.1.1.1.  Vrstica z meniji

  Najvijo vrstico vmesnika v urejevalniku Emacs predstavlja meni. e
  uporabljate sistem X, boste to vrstico prepoznali kot obiajne spustne
  menije, ki jih lahko uporabljate s pomojo mike. Drugae boste morali
  za dostop do njih uporabljati blinjice na tipkovnici (ta dokument jih
  ne navaja).


  2.1.1.2.  Statusna vrstica in Mini-buffer

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


  Najnija vrstica se imenuje mini-buffer. Od glavnega bufferja  je
  loena s pomojo 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 sporoila, kot odgovori na vae poetje.


  V dokumentaciji za Emacs se stvar, ki jo jaz imenujem statusna vrstica
  obiajno imenuje nainovna vrstica (mode line).  V njej Emacs
  prikazuje sporoila o trenutnem nainu, 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 nali najosnovneje izraze na katere boste
  naleteli pri delu z urejevalnikom Emacs in branju dokumentacije.


  2.2.1.  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 taknega naina, vendar je za vas pomembno
  le, da veste da stvar deluje na ta nain.


  Kot posledico taknega shranjevanja boste opazili, da se v
  dokumentaciji za urejevalnik Emacs, v nainih 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 nanaa na doloeno datoteko na disku. Pogosto bo Emacs
  tvoril bufferje kot rezultat ukazov, ki ste jih zagnali. Takni
  bufferji lahko vsebujejo rezultate ukaza, sezname s katerih lahko
  izbirate itd.


  2.2.2.  Toka (point) & podroje (region)

  V jeziku Emacsa boste pogosto sliali oz. videli reference za toko.
  V splonem toka predstavlja kazalec. Ko boste prieli uporabljati
  urejevalnik Emacs, razlika med toko in kazalcem verjetno e ne bo
  pomembna.  e pa ste radovedni, si lahko razliko predstavljajte na
  nasledni nain. Kazalec je vizualna predstavitev toke. Kazalec je
  vedno ``na'' doloenem znakovnem poloaju v trenutnem bufferju, toka
  pa je v prostoru  med dvema znakoma v bufferju. Torej lahko reemo, e
  je kazalec v besedi ``Linux''na rki `n' , je potem toka med rko `i'
  in `n'.


  Kot veina sodobnih urejevalnikov, tudi Emacs omogoa izvajanje
  operacij (poravnava, rkovanje, preoblikovanje, izrezovanje,
  kopiranje, lepljenje, ...) na razdelku v trenutnem bufferju. Blok
  besedila lahko osvetljite (oz. ``oznaite'') s pomojo tipkovnice ali
  mike in potem izvrite doloemo operacijo samo na izbranem besedilu.
  V urejevalniku Emacs se blok besedila imenuje podroje.


  2.2.3.  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 podroje 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 [zaasno] 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 nain lahko primerjate dve datoteki eno ob drugi. Ta
  okna X se v jeziku Emacs imenujejo okvirji. Berite dalje.


  2.2.4.  Okvirji

  V urejevalniku Emacs, je okvir loeno, samostojno okno X v katerem je
  prikazan buffer urejevalnika Emacs. Oba pa sta del iste seje
  urejevalnika Emacs. Obnaanje 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 nanaajo na delovanje tipkovnice za
  Emacs. Kot v vsakem zmogljivem urejevalniku lahko tudi v urejevalniku
  Emacs vse stvari izvrite 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.
  Mogoe 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 drugaen. Nauiti se bo treba razlinih
  kombinacij tipk in ukazov. Prav tako, kot v urejevalniku vi, se boste
  morali za opravljanje veine dela nauiti samo osnov.  Sasoma pa
  boste lahko razirili svoje znanje in poiskali hitreje poti za
  opravljanje stvari.





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

  Kot boste kmalu spoznali, se v Emacsu zelo veliko uporabljajo
  kombinacije razlinih tipk.  Ker ni nainovni urejevalnik tako kot vi,
  vam ni potrebno paziti, ali ste v ``ukaznem nainu '' ali ``nainu za
  urejanje'' preden boste poskusili premakniti kazalec in izvriti ukaz.
  Namesto tega pritisnete samo pravo kombinacijo tipk, Emacs pa bo
  (obiajno) izvril nalogo, ki ste mu jo zadali.


  Za tipke, ki se najpogosteje uporabljajo v urejevalniku Emacs, se v
  dokumentaciji uporabljajo okrajave, na primer C (za Control oz. Ctrl)
  in M za (Meta). eprav ima veina sodobnih tipkovnic za osebni
  raunalnik eno ali ve tipk oznaeno s Ctrl, jih ima le malo tipko z
  oznako Meta. Verjetno boste hoteli zamenjati tipko Esc ali Alt za
  tipko Meta. V veini standardnih nastavitvah pa tako tipka Esc kot
  tudi tipka Alt sluita 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 zaetnike je M-x apropos oz. C-h a. apropos bo
  poiskal v Emacsovi dokumentaciji na zvezi vse funkcije in regularne
  izraze, ki jih vi vnaate. To je odlien nain za raziskovanje in
  spoznavanje vseh ukazov, ki se nanaajo na okvirje. Enostavno
  pritisnite kombinacijo tipk C-h a nato pa e frame.


  2.3.2.  Premikanje po Bufferju

  Sedaj ko veste kaj pomenijo vse te prestine okrajave, si oglejmo e
  seznam najobiajnejih 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 zatek 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 zaetek bufferja
  M->                     Na konec bufferja
  C-g                     Konaj tenutno operacijo
  -------------------------------------------




  Tudi smerne tipke (oz. tipke s puicami) obiajno delujejo tako, kot
  od njih priakujete. Mogoe ne bo delovala tipka Backspace. Vendar je
  to e druga zgodba. :-(




  2.3.3.  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 blinjice do funkcij,
  ki so del urejevalnika Emacs. Poljubno funkcijo lahko prikliete z
  vnosom kombinacije tipk M-x ime-funkcije  in s pritiskom na tipko
  Enter. Uporabite lahko tudi blinjico 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
  blinjico ali pa vtipkate M-x save-buffer in v obeh primerih doseete
  isti rezultat.


  Vse najobiajneje funkcije imajo glede na privzeto vrednost blinjice
  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                Ii niz od spodaj navzgor
                  replace-string                  Poii & zamenjaj niz
                  replace-regexp                  Poii & zamenjaj s pomojo regexp
  C-h t           help-with-tutorial              Uporabi interaktivno vadnico
  C-h f           describe-function               Prikai pomo za funkcijo
  C-h v           describe-variable               Prikai pomo za spremenljivko
  C-h x           describe-key                    Prikai emu slui zaporedje tipk
  C-h a           apropos                         Poii pomo za niz/regexp
  C-h F           view-emacs-FAQ                  Prikai 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                   Skoi na oznako.
  -------------------------------------------------------------------




  Ko boste preizkusili veino 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.
  veini ukazov, ki jih uporabljate v vai lupini sistema Unix.


  Emacs ima dobesedno na stotine vgrajenih funkcij. Zgoraj prikazan
  seznam je samo majhen del tistih funkcij, ki jih redno uporabljam.
  Popolneji seznam funkcij, ki so na voljo boste nali v pomoi na
  zvezi. Tam boste nali tudi popolnejo dokumentacijo za tiste
  funkcije, ki sem jih navedel v zgornji tabeli.


  2.3.4.  Dopolnjevanje ukazov s pomojo tipke Tab

  Kot veina priljubljenih lupin sistema Unix (bash, csh, tcsh, ...),
  tudi Emacs nudi dopolnjevanje ukazov s pomojo 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
  monosti, vse monosti pa kot naslednji znak vsebujejo vezaj.
  Pritisnite na tipko Tab e enkrat in Emacs bo prikazal seznam vseh
  monih funkcij iz katerega lahko izberete ustrezno. Opazili boste, da
  to stori v novem oknu. Zaasno razpolovi va zaslon na dva dela: en
  vsebuje buffer, ki ste ga urejali, drug pa vsebuje seznam vseh monih
  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
  nali razlago, kako uporabiti ostale funkcije pomoi v urejevalniku
  Emacs.


  Toplo vam priporoam, da porabite nekaj asa in greste skozi vadnico,
  seveda e se mislite resno nauiti uporabe urejevalnika Emacs. Kot je
  prikazano v zgornji tabeli, lahko prinete z vadnico preko kombinacije
  tipk C-h t. Vadnica je namenjena tistim ljudem, ki so ele prieli 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 blinjice.


  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.


  3.  Naini urejevalnika Emacs

  Naini v urejevalniku Emacs predstavljajo razlina obnaanja in
  lastnosti, ki jih lahko vkljuite in izkljuite (ali prilagodite) v
  razlinih okoliinah. Prav ti razlini naini naredijo urejevalnik
  (Emacs) primeren za pisanje dokumentacije, za programiranje v
  razlinih jezikih (C, C++, Perl, Python, Java, in e v veliko drugih),
  za tvorjenje domaih strani, poiljanje elektronskih sporoil, branje
  novic Usenet, vodenje vaih sestankov in celo za igranje iger.


  Naini v Emacsu so dejansko samo kninice kode v programskem jeziku
  Lisp, ki na nek nain razirijo, prilagodijo ali posodobijo
  urejevalnik Emacs.


  3.1.  Naini Major v primerjavi z naini Minor

  Primarno sta na voljo dva razlina tipa nainov: Major in Minor.
  Dokler ne boste prieli delali z njimi, boste razliko dokaj teko
  razumeli. Pa vseeno poskusimo.


  V doloenem trenutku je lahko aktiven samo en nain major, medtem ko
  je lahko v doloenem trenutku aktivnih ve nainov minor. Naini tipa
  major so obiajno specifini za doloeno nalogo oz. programski jezik,
  medtem ko so naini minor manji in manj specifini pripomoki, ki
  izpolnjujejo veliko opravil.


  To zveni nekoliko abstraktno, pa poskusimo razloiti s primerom.
  Obstaja nain, ki ga zelo pogosto uporabljam, kadar piem preproste
  stare tekstovne datoteke. Imenuje se tekstovni nain (text-mode). Ta
  nain je bil razvit za pisanje prosto oblikovanega besedila, na primer
  za datoteke README. Ta nain zna prepoznavati besede in odstavke in
  obiajno preverja, da pone stvari, ki jih od njega priakujem, kadar
  uporabljam obiajne navigacijske tipke.


  Kadar pa piem besedila za ljudi, obiajno elim, da dobro izgledajo.
  Besedila morajo biti lepo prelomljena.  Da bi omogoil deljenje besed,
  samo vkljuim nain tipa minor auto-fill. Ta nain poskua storiti
  Pravilne Stvari, kadar vnaam besedilo in pridem do konca vrstice.
  Dejstvo da gre za nain tipa minor pomeni, da lahko deluje v razlinih
  nainih tipa major. Definicija ``Prave Stvari'', ko doseem konec
  vrstice se razlikuje kadar sem v tekstovnem nainu (text-mode) od
  definicije kadar sem na primer v java-nainu (java-mode). Ne elim da
  bi bila moja koda jezika Java deljena, kot da bi lo za slovensko
  besedilo. Vsekakor pa elim, da so bloki komentarja v kodi jezika Java
  pravilno deljenji! Nain auto-fill je dovol prebrisan, da za te stvari
  samodejno poskrbi.


  Avtorji tevilnih nainov v urejevalniku Emacs so se zelo potrudili,
  da stvari, ki bi morale delovati kot naini tipa minor tako tudi
  delujejo.


  e se vrnete nazaj in si ogledate skico ASCII zalona urejevalnika
  Emacs, boste opazili, da nainovna vrstica prikazuje naine v katerih
  je Emacs. V tistem primeru je bil to nain z imenom ``Lisp
  Interaction'', ki je privzet nain. Uporaben je samo v primeru, e
  boste eleli programirati v Lispu. (Zakaj pa ne, saj je veina
  urejevalnika Emacs napisana v tem jeziku?)


  3.2.  Programski naini

  Prvo in najpomembneje, Emacs je zgradil programer za programerje.
  Obstajajo zelo kvalitetni naini za skoraj vse priljubljene programske
  jezike (in celo za nekatere manj priljubljene). Na kratko bom opisal
  samo nekatere.


  Veina programskih nainov ima nekaj skupnih karakteristik. Obiajno
  izvajajo nekatere ali vse izmed naslednjih operacij:


  *  Nudijo barvno oznaevanje skladnje jezika.

  *  Nudijo samodejno poravnavo in oblikovanje kode programskega jezika.

  *  Nudijo pomo, obutljivo na vsebino (jezik).

  *  Samodejno komuniciranje z vaim razhroevalnikom.

  *  V vrstico z meniji dodajo menije, ki so specifini za posamezen
     jezik.


  Obstaja tudi nekaj nainov, ki niso specifini za jezik, pomagajo pa
  pri izvajanju opravil, ki so obiajni pri programiranju v veini
  jezikov. Stvari kot je komuniciranje z vao programsko opremo za
  nadziranje razliic, samodejno dodajanje komentarjev v vao kodo,
  tvorjenje datotek Makefiles, posodabljanje dnevnikov, itd.


  Ko setejete vse te naine in dodate e zrelost in zanesljivost kode
  urejevalnika Emacs, ga je kaj mogoe primerjati s komercialnimi
  Integriranimi razvojnimi okolji (Integrated Development Environments -
  IDE) za jezike kot sta C++ in Java. Seveda pa je urejevalnik Emacs
  prosto dostopen.


  3.2.1.  C/C++/Java

  Ker je skladnja jezikov C, C++, in Java dokaj podobna, obstaja en sam
  nain urejevalnika Emacs, ki skrbi za vse tri jezike (pa tudi za
  Objective-C in IDL). Je zelo zrel in popoln paket in je vkljuen v
  distribucijo Emacsa. Ta nain pokliete s kombinacijo tipk cc-mode ali
  CC Mode.


  Ve podrobnosti ali e elite dobiti novo razliico najdete na
  spletnem naslovu http://www.python.org/emacs/.


  3.2.2.  Perl

  Dejansko obstajata dva naina za urejanje kode Perl v urejevalniku
  Emacs. Prvi nain pokliete s kombinacijo tipk perl-mode (kot ste
  verjetno e sami ugotovili) drugega pa s kombinacijo cperl-mode. Ne
  vem zakaj obstajata dva naina (tega ne pie v dokumentaciji), zdi pa
  se, da je nain perl-mode originalni nain za urejanje kode Perl v
  urejevalniku Emacs. Vsebuje nekoliko manj lastnosti kot cperl-mode,
  manjka pa mu tudi sposobnost prepoznavanja nekaterih novejih
  konstruktov jezika Perl.


  Jaz osebno uporabljam in vam priporoam cperl-mode, ki je dokaj
  aktivno vzdrevan in vsebuje vse lastnosti, ki sem jih kadarkoli
  elel. Zadnjo razliico lahko najdete na naslovu: ftp://ftp.math.ohio-
  state.edu/pub/users/ilya/emacs.


  Ne drite me za besedo. Preizkusite oba in izberite tistega, ki bolj
  ustreza vaim zahtevam.


  3.2.3.  Python

  Tudi za Python (e en zelo priljubljen skriptni jezik) je v
  urejevalniku Emacs na voljo nain. Kolikor vem, tega naina ni v
  distribuciji urejevalnika GNU Emacs, je pa priloen distribuciji
  urejevalnika XEmacs. Vendar dokaj dobro deluje v obeh urejvalnikih.


  Nain python-mode lahko najdete na uradni spletni strani Pythona
  http://www.python.org/emacs/python-mode/.



  3.2.4.  Ostali

  Obstaja veliko veliko ostalih nainov za urejanje, ki pomagajo
  programerjem. Ti naini vam lahko pomagajo pri stvareh kot so:


  *  Skripti ukazne lupine (Bash, sh, ksh, csh, ...)

  *  Awk, Sed, Tcl, ...

  *  Datoteke Makefiles

  *  Dnevniki

  *  Dokumentacija

  *  razhroevanje


  In e veliko ve. Oglejte si zadnji del te dokumentacije, kjer boste
  nali ve informacij o dodatkih in iskanju drugih nainov.


  3.3.  Avtorstvo

  Posebni naini urejevalnika Emacs niso omejeni samo na tiste ljudi, ki
  so jih napisali.  Tudi ljudje, ki piejo dokumentacijo (kakrno koli),
  lahko imajo koristi od velikega izbora nainov v urejevalniku Emacs.


  3.3.1.  Preverjanje rkovanja (nain ispell )

  Avtorji, ki piejo razlino dokumentacijo, morajo vsake toliko asa
  preveriti pravilnost rkovanja.  e imate nameen GNU ispell, lahko
  uporabite kombinacijo tipk M-x ispell in preverite pravilnost
  rkovanja v trenutnem bufferu. e ispell najde besede, ki jih ne
  pozna, vas bo o tem obvestil s pomojo seznama monih zamenjav in vam
  omogoil izbrati eno (ali nobeno) izmed njih.  Njegova funkcionalnost
  se lahko kosa s rkovalniki v priljubljenih komercionalnih paketih
  programske opreme.


  3.3.2.  HTML (nain html-helper )

  e vsake toliko asa napiete kakno datoteko tipa HTML (ali pa to
  ponete pogosto), boste mogoe preizkusili nain html-helper-mode.
  Dobite ga lahko na naslovu http://www.santafe.edu/~nelson/tools/, kot
  tudi dokumentacijo in stvari, ki so povezane s tem nainom.


  Kot je razvidno iz njegovega imena, nain html-helper-mode nudi veliko
  stvari, ki pomagajo tistim ljudem, ki e vedno rono piejo dokumente
  tipa HTML -na staromoden nain.


  3.3.3.  TeX ( tex-mode )

  Kadar piete dokumente v urejevalniku TeX, je pogostokrat v pomo, e
  si priskrbite urejevalnik Emacs, ki vnese nekoliko barv in nudi
  osvetljevanje oklepajev in ostalih znakov. Nain tex-mode sam poskrbi
  za te stvari.


  eprav ne piem ve pogostokrat neposredno v urejevalniku TeX, e pa
  to e ponem, ta nain poskrbi za preglednejo izvorno kodo TeX.

  3.3.4.  SGML ( sgml-mode )

  Dokument, ki ga sedaj berete je bil napisan v SGML (oz. pretvorjen v
  format, v katerem ga trenutno berete). sgml-mode nudi vse osnove za
  pisanje dokumentov tipa SGML:  ovrednotenje (validation),
  osvetljevanje, forward-tag, backward-tag in e veliko ve. Ta nain je
  standarden del urejevalnika Emacs.


  3.4.  Ostali naini

  Seveda obstaja e veliko drugih prironih nainov, ki vam olajajo
  delo. Natel bom samo nekaj najbolj priljubljenih:


  3.4.1.  Nadzor razliic ( vc  mode)

  Nain vc komunicira z veliko veino popularnih programov za nadzor
  razliic (RCS, SCCS, CVS), kar zelo poenostavi oznaevanje in
  odznaevanje datotek, upravljanje z izdajami itd. Je standarden del
  urejevalnika Emacs, dokumentacijo pa lahko najdete v dokumentaciji
  urejevalnika Emacs.


  3.4.2.  Nain lupine

  Zakaj bi odpirali  novo okno X ali navidezno konzolo samo zaradi tega,
  da bi izvrili nekaj ukazov v lupini? Storite to kar v urejevalniku
  Emacs in si prihranite nekaj teav. :-)


  M-x shell bo znotraj bufferja urejevalnika Emacs zagnal lupino. V tem
  bufferju lahko ponete skoraj vse stvari, ki jih lahko ponete tudi v
  obiajnem pozorniku lupine (razen zaganjanje programov kot je vi ali
  pine), ker se urejevalnik Emacs v ozadju pogovarja z vao dejansko
  lupino.


  Tudi to je standarden del urejevalnika Emacs in je dokumentiran v
  dokumentih urejevalnika Emacs.


  3.4.3.  Telnet in FTP

  Zakaj bi odpirali novo okno X ali navidezno konzolo, samo da bi
  zagnali telnet ali FTP? Storite to kar v urejevalniku Emacs in si
  prihranite nekaj teav. (Ali ste e opazili, da se ponavljam?)


  Prav tako kot zaganjanje lupine znotraj urejevalnika Emacs, lahko
  zaenete tudi telnet in ftp.  Preizkusite M-x telnet ali M-x ftp in se
  prepriajte sami. Preberite dokumentacijo in poiite vse podrobnosti.


  3.4.4.  Man

  Zakaj bi prehajali v drugo okno X ali navidezno konzolo, samo da bi
  prebrali strani programa man?  Storite to kar v urejevalniku Emacs in
  si prihranite nekaj teav. (Obljubim, da bom sedaj nehal s tem.)


  Prav tako kot zaganjanje lupine znotraj urejevalnika Emacs, lahko
  prebirate tudi strani prironika.  Preiskusite M-x man in se
  prepriajte sami. Ve podatkov lahko najdete v dokumentaciji.


  3.4.5.  Ange-FTP

  Citat iz dokumentacije ange-ftp:


       Ta paket poskua olajati dostopanje do datotek in imenikov,
       ki uporabljajo FTP znotraj urejevalnika GNU Emacs.
       Podmnoica teh obiajnih rutin za delo z datotekam je
       razirjena na delo s progamom FTP.



  To pomeni, da lahko obravnavate datoteke, ki so na oddaljenih
  raunalnikih, kot bi bile lokalne.  e torej morate urediti datoteko
  na drugem raunalniku, samo povejte urejevalniku Emacs naj jo odpre (s
  pomojo malce razline sintakse poti) in poskrbi za vse podrobnosti
  prijavljanja in prejemanja datoteke.  Ko potem shranite datoteko s
  pomojo C-x C-s, ange-ftp prestree proces shranjevanja in datoteko
  zapie nazaj na oddaljen raunalnik.


  Malce drugana sintaksa poti se glasi... Datoteka z imenom
  ``mojadatoteka'', v imeniku ``uporabnik '', na raunalniku z imenom
  ``moj.gostitelj.org'' se lahko odpre z odprtjem datoteke (C-x f):


       /uporabnik@moj.gostitelj.org:~uporabnik/mojadatoteka



  Tudi to je standardni del distribucije urejevalnika Emacs, torej lahko
  najdete informacije v dokumenaciji za urejevalnik Emacs.


  Za zgornji primer se zahvaljujem Etiennu Grossmannu
  (etienne@anonimo.isr.ist.utl.pt).


  4.  Prilagajanje urejevalnika Emacs

  Skoraj vse prilagoditve urejevalnika Emacs se vrijo s pomojo
  spreminjanja kode Lispa. Spremenite lahko spremenljivke, ki vplivajo
  na nain delovanja urejevalnika Emacs, lahko pa mu dodate tudi nove
  funkcije (ali prepiete obstojee funkcije -jih zamenjate s svojimi).


  4.1.  Zaasne prilagoditve

  Ko boste eksperimentirali s prilagoditvami urejevalnika Emacs, boste
  verjetno eleli, da so te prilagoditve samo zaasne. e se kaj hudo
  zalomi, uporabite samo kombinacijo tipk C-x C-c za izhod iz
  urejevalnika Emacs in ga ponovno zaenete. Ko boste ugotovili, katere
  spremembe naj bodo trajne, jih lahko dodate v svojo razliico datoteke
  .emacs, kjer se bodo ob zagonu urejevalnika Emacs vedno upotevale. To
  bomo obravnavali v naslednjem razdelku.


  4.1.1.  Dodeljevanje spremenljivk

  Prilagoditve boste najenostavneje izvrili tako, da boste spremenili
  vrednost spremenljivki v urejevalniku.  Koda za takno spremembo
  izgleda nekako tako:


  (setq ime-spremenljivke nova-vrednost)

  Kjer je ime-spremenljivke ime spremenljivke in nova-vrednost vrednost,
  ki bi jo radi dodelili spremenljivki. (Povedano v jeziku Lisp,
  spremenljivko boste pripeli na doloeno vrednost.)  Funkcija setq v
  jeziku lisp je analogna dodeljevalnim operatorjem (obiajno je to =) v
  drugih programskih jezikih.


  OPOMBA: Izpustil sem veliko podrobnosti, da bi razlaga ostala karseda
  preprosta. Mogoe boste videli, da drugi ljudje uporabljajo tudi
  funkcijo programskega jezika Lisp set ali celo funkcijo setq-default.
  e vas te funkcije res zanimajo, jih poiite v referennem materialu
  za Lisp v urejevalniku Emacs.


  Oglejmo si vrstico v moji datoteki .emacs


  (setq-default transient-mark-mode t)




  Spremenljivka transient-mark-mode nadzira ali postane podroje
  osvetljeno, kadar ga oznaim. V mnogih aplikacijah GUI, kadar z miko
  izberete obmoje besedila, le to postane osvetljeno z neko barvo. Tudi
  Emacs bo storil tako, e bo nastavljena spremenljivka transient-mark-
  mode (na nenielno vrednost).


  Na KAKNO vrednost?


  Dobro. e se le malce oddaljimo od teme. Veina programskih jezikov
  uporablja neko notacijo za vrednosti prav/narobe. V jeziku C/C++ se
  vrednost smatra za pravilno, e je nenielna vrednost. V jeziku Perl
  je pravilna nenielna vrednost. Tudi v jeziku Lisp velja isti dogovor,
  razlikujejo se samo imena in simboli.


  Pravilno se obiajno zapie s t, nepravilno (oz ni) pa se zapie z
  nil. Kot v drugih jezikih, se vsaka nenielna vrednost smatra za
  pravilno.


  Da bi dobili popolen obutek o tem, emu je nain transient-mark-mode
  sploh namenjen, lahko uporabite pomo na zvezi. Vnesite C-h v ali M-x
  describe-variable in potem transient-mark-mode. e ste tako leni kot
  jaz, boste verjetno uporabili lastnost dopolnjevanja s pomojo tipke
  Tab. Vtipkajte samo del imena spremenljivke in pritisnite na tipko
  Tab.  e boste vnesli dovolj imena in ga bo Emacs prepoznal kot
  unikatno ime, ga bo tudi doplolnil.


  Naslednja spremenljivka, ki jo ljudje pogosto spreminjajo je fill-
  column. Le ta pove urejevalniku Emacs, kako irok naj bo zaslon za
  deljenje besed (in auto-fill-mode upoteva to vrednost). Vtipkate
  lahko neko nesmiselno vrednost:


  (setq fill-column 20)




  To pa ne bi delovalo. Urejevalniku Emacs morate povedati naj
  ovrednosti izraz, ki ste ga vnesli.  To storite tako, da postavite
  toko (kazalec) na konec izraza in potem vnesete C-x C-e, s imer
  boste poklicali funkcijo eval-last-sexp e vas seveda to gane. Ko
  boste to storili, boste lahko opazili, da se vrednost 20 (oz. katero
  vrednost ste pa vnesli) izpie v mini-bufferju na dnu zaslona. To je
  samo vrnjena vrednost iz izraza, ki ste ga ovrednotili.


  Da bi preskusili e zadeva deluje, vtipkajte stavek ali dva. e imate
  vkljuen nain auto-fill-mode (verjetno ga nimate), boste opazili da
  se besede delijo na dvajseti vrstici. Ko boste vnesli nekaj besedila,
  vtipkajte e M-q, s imer boste poklicali funkcijo fill-paragraph. Le
  ta bo izvrila deljenje besed.


  4.1.2.  Povezanost datotek

  Urejevalnik Emacs lahko prilagodite tako, da samodejno izvri doloene
  operacije, ko odprete doloen tip datoteke (ravno tako, kot doloeni
  GUI samodejno zaenejo specifino aplikacijo, ko kliknete na ikono
  doloene datoteke). elim si, da bi urejevalnik Emacs samodejno
  preklopi v nain text-mode vsaki, ko odprem datoteko s konnico .txt.
  No, dejansko se to e dogaja. :-) Torej, povejmo urejevalniku Emacs
  naj vedno preide v nain text-mode, kadar odprem datoteko z imenom
  ``README''.


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




  Huh?


  Ne da bi se spustili v podrobnosti programiranja v jeziku Lisp, ki vam
  jih ni potrebno videti (ne bo pa ni narobe, e se jih boste nauili),
  povejmo samo, da spremenljivka auto-mode-alist vsebuje seznam parov.
  Vsak par vsebuje regularni izraz in ime naina v urejevalniku. e
  datoteka, ki jo odprete ustreza regularnemu izrazu (v tem primeru nizu
  README) bo urejevalnik Emacs zagnal nain, ki ste ga podali.


  Zgornjo skladnjo smo uporabili, ker smo na seznam dejansko dodali nov
  par. Verjetno si ne elite preiti na auto-mode-alist, ne da bi se prej
  prepriali, da se vrednosti, ki jih e vsebuje, niso izgubile.


  e pa elite, da Emacs samodejno preklopi na nain html-helper-mode
  vsaki, ko odprete datoteke, ki se konajo s konnico .html ali .htm,
  bi v vao datoteko .emacs dodali:


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




  Monosti je res neskonno.


  4.2.  Uporaba datoteke .emacs

  Ko boste e nekaj asa delali v urejevalniku Emacs in dobili nekaj
  obutka, kako vam lahko koristijo prilagoditve, boste verjetno eleli
  nekatere stvari narediti trajne (oz. vsaj dokler si ne boste
  premislili). e boste Emacs vsakodnevno uporabljali, boste opazili, da
  se vaa datoteka .emacs sasoma vea. To je vsekakor Dobra Stvar, ker
  pomeni, da ste nali nain, kako prilagoditi Emacs, da bo deloval, kot
  vi elite. Prava sramota je, da tega ne omogoa veje tevilo
  programske opreme.


  Vsaki ko zaenete Emacs, le ta v vaem domaem imeniku poie
  datoteko z imenom .emacs.  Ta datoteka je mesto, kamor bi morali
  zapisati vso kodo v jeziku Lisp, za katero elite da se samodejno
  izvede.


  e en primer iz moje datoteke .emacs:


  (setq inhibit-startup-message t)




  Spremenljivka inhibit-startup-message nadzira ali bo Emacs ob zagonu
  izpisal pozdravno sporoilo. ez nekaj asa sem se tega sporoila e
  poteno navelial, torej sem zael iskati nain, kako bi ga izkljuil.


  Za vajo poskusite sami tvoriti datoteko .emacs in vanjo dodajte to
  vrstico. Sedaj zaprite in ponovno zaenite Emacs. Pozdravnega
  sporoila ne bi smeli ve videti.


  Vekrat boste v dokumentaciji o nainih v urejevalniku Emacs (ali
  paketu) naleteli na predloge in primere, ki jih lahko vstavite v
  datoteko .emacs, da bi doloen nain ali paket deloval na poseben
  nain.


  Tudi GNU Emacs FAQ (C-h F) vsebuje nekaj tem, ki se nanaajo na
  datoteke .emacs.  Mogoe vam bodo v pomo.


  4.3.  Prilagoditveni paket

  eprav je urejevalniku Emacs priljubljenost rasla, nadaljeval pa se je
  tudi njegov razvoj, je nekdo rekel ``obstajati mora bolji nain s
  katerim bodo lahko novi uporabniki prilagodili svoj urejevalnik
  Emacs.''  Plod tega je prilagoditev.


  Prilagoditev nudi ve intuitivnih metod za prilagajanje delov
  urejevalnika Emacs. Da bi to preizkusili, poglejte v podmeni Customize
  v vaem meniju Help ali pa vtipkajte M-x customize.


  Prilagoditev deli prilagoditve v logine skupine, kot na primer
  ``urejanje'' (Editing), ``programiranje'' (Programming), ``datoteke''
  (Files), itd. Nekatere skupine vsebujejo podskupine.


  e boste spremembe izvajali s pomojo vmesnika za prilagoditve, jih bo
  Emacs shranil v vao datoteko .emacs. To je res uporabno, ker lahko na
  ta nain enostavno pregledate (in popravite) spremembe, ki jih bo
  opravil za vas.



  Vmesnika za prilagoditve ne uporabljam, zaradi tega vam tudi ne morem
  dati ve informacij o njem.


  4.4.  Prikaz v X Windows

  kot vsaka aplikacija, ki se lepo obnaa v sistemu X, tudi Emacs
  uposteva vae vire X. To pomeni, da lahko nadzirate barve, geometrijo
  in ostale stvari, ki so specifine za sistem X, prav tako, kot lahko
  to ponete s programom xterm, nxterm, oz. katerim koli.


  Pa poglejmo ustrezen del moje datoteke ~/.Xdefaults:


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




  Ve podrobmosti o virih sistema X boste nai na vaih straneh
  prironika X.


  Chris Gray (cgray4@po-box.mcgill.ca) je napisal e opombo:


       V distribuciji Debian izgleda, da se datotek ~/.Xdefaults ne
       uporablja. Uporabniki distribucije Debian lahko can put what
       you have given in /etc/X11/Xresources/emacs and they can
       have the pretty colors that they had when they were using
       RedHat.



  5.  Priljubljeni paketi

  Kot dodatek k velikemu tevilu razlinih nainov, ki so na voljo za
  urejevalnik Emacs, obstaja tudi veliko dodatnih (add-on) paketov. Jaz
  jih imenujem paketi zato, ker so ve kot samo naini. Pogosto
  vsebujejo dodatne lastnosti ali pa so tako veliki, da ne bi bilo
  pravino, e bi jih poimenovali z naini.  V drugih primerih se
  uporabljajo tudi kot programska oprema, ki dopolnjuje ali vpeljuje
  druge naine ali pakete v urejevalnik Emacs. Razlika ni jasno
  zartana.


  5.1.  VM (Pota)

  e citiram dokument Odgovori na pogosto zastavljena vpraanja (FAQ)
  VM:


       VM (View Mail - Ogled pote) je podsistem urejevalnika
       Emacs, ki omogoa branje in odstranjevanje pote kar v ure
       jevalniku samem. Obstajajo ukazi, ki sluijo za izvajanje
       operacij, obiajnih za mail user agent, kot na primer tvor
       jenje odgovorov, shranjevanje sporoil v datoteke, brisanje
       sporoil, itd. Obstajajo tudi drugi napredneji ukazi, ki
       omogoajo bursting and creating digests, message forwarding,
  and organizing message presentation according to various
  criteria.



  Ko sem priel uporabljati Emacs, sem preizkusil tudi VM. Ugotovil sem,
  da je odlino nadomestilo za programe Pine, Elm oz. veino vseh
  ostalih programov za poto.  Nisem pa elel uporabljati dveh razlinih
  programov za branje pote in novic. Danes se VM aktivno razvija in je
  dobro podprt.


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


  5.2.  Gnus (pota in novice)

  Citat iz prironika GNUS:


       Gnus je laboratorij za branje sporoil. Vse stvari so ure
       jene v noviarske supine. Z njim lahko berete poto, brskate
       po imenikih, uporabljate ftp storitve ---z njim lahko berete
       celo novice!



       Gnus tries to empower people who read news the same way
       Emacs empowers people who edit text. Gnus ne postavlja ome
       jitev o tem, kaj lahko uporabnik stori, ampak spodbuja
       ljudi, da razirijo Gnus tako, da se bo obnaal kot oni to
       elijo. Program ne bi smel nadzirati ljudi; ljudje bi morali
       imeti monost, da ponejo kar jih je volja pri uporabi (oz.
       zlorabi) programa.



  Tudi jaz trenutno za branje pote in novic uporabljam GNUS (kot je
  bilo e zgoraj nakazano).  Tudi GNUS se danes aktivno razvija in je
  dobro podprt.


  Dobite ga lahko na naslovu: http://www.gnus.org/.


  5.3.  BBDB (rollodex)

  BBDB je Insidious Big Brother Database, podoben programu rollodex za
  Emacs, ki deluje z veino priljubljenih paketov za poto v
  urejevalniku Emacs (vkljuno z VM in GNUS).


  Najdete ga na naslovu:
  http://pweb.netcom.com/~simmonmt/bbdb/index.html.


  5.4.  AucTeX (e en nain TeX)

  AucTeX je e eden od nainov za urejanje datotek tipa TeX.


  e citiram spletno stran AucTeX:


       AUC TeX je proen paket, ki podpira pisanje in oblikovanje
       datotek tipa TeX za veino razliic urejevalnika GNU Emacs.
  Podprte so tevilne makro strani, vkljuno z AMS TeX, LaTeX
  in TeXinfo.



  Najdete ga na naslovu: http://sunsite.auc.dk/auctex/.


  6.  Ostali viri

  Ta razdelek opisuje knjige, spletne strani, noviarske skupine, potne
  sezname in ostala mesta, kjer lahko najdete ve informacij o
  urejevalniku Emacs.


  6.1.  Knjige

  Za uenje urejevalnika Emacs obstaja nekaj res odlinih knjig.
  Ugotovili boste, da tudi veliko knjig za sisteme Unix in Linux vsebuje
  vsaj poglavje ali dva, ki opisuje urejevalnik Emacs (in vi).


  6.1.1.  Uenje uporabe urejevalnika GNU Emacs

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


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


  S popustom pa jo lahko kupite tudi na Amazon.com preko naslova:
  http://www.amazon.com/exec/obidos/ASIN/1565921526/


  Komentar: Verjetno je najbolje zaeti s to knjigo. Ko boste prebrali
  dokument HOWTO in se prebili skozi FAQ, vam bo ta knjiga sluila kot
  razumljiva in zelo lahko dostopna vadnica.


  6.1.2.  Pisanje raziritev za urejevalnik GNU Emacs

  Avtor: Bob Glickstein


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


  S popustom pa jo lahko kupite tudi na Amazon.com preko naslova:
  http://www.amazon.com/exec/obidos/ASIN/1565922611/


  Komentar: e uporabljate Emacs e nekaj asa in ste se odloili, da bi
  radi napisali svoj lasten nain ali pa bi radi samo preizkusili
  nekatere napredne prilagoditve, potem je to prava knjiga za vas.  Ker
  vas ne namerava nauiti programiranja v jeziku List, vsebuje samo
  kratek uvod v ta programski jezik.


  6.1.3.  Programiranje v Lispu: Uvod

  Avtor: Robert J. Chassell


  Iz datoteke README:


       To je elementaren uvod v programiranje v jeziku Lisp za
       Emacs in je namenjen ljudem, ki niso programerji in jih pro
       gramiranje tudi ne zanima, bi pa radi prilagodili in
       razirili svoje raunalniko okolje.



  Cel prironik lahko najdete na streniku FTP projekta GNU:
  ftp://prep.ai.mit.edu/gnu/emacs/.


  S popustom pa jo lahko kupite tudi na Amazon.com preko naslova::
  http://www.amazon.com/exec/obidos/ASIN/1882114418/jeremydzawodny/.


  Komentar: Knjiga predstavlja dober uvodni prironik za jezik Lisp v
  urejevalniku Emacs -tudi e niste programer.


  6.1.4.  Referenni prironik za programski jezik Lisp v urejevalniku
  GNU Emacs

  Avtor: Richard Stallman


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


  Prironik lahko v celoti najdete na streniku GNU FTP:
  ftp://prep.ai.mit.edu/gnu/emacs/.


  Komentar: To je najpomembneji vodi v programski jezik Lisp za Emacs.


  6.2.  Spletne strani

  6.2.1.  EMACSulation

  EMACSulation je lanek, za katerega skrbi Eric Marsden in izhaja v
  reviji na zvezi Linux Gazette. Revijo lahko najdete na naslovu
  http://www.linuxgazette.com/. Zadnji lanek v asu pisanja tega
  dokumenta je na naslovu
  http://www.linuxgazette.com/issue39/marsden.html.  Povezave na
  prejnje lanke pa boste nali na dnu dokumenta.


  6.3.  Noviarske skupine

  Poiite noviarske skupine, ki vsebujejo niz ``emacs''. Verjetno jih
  boste nali kar nekaj.  Skupine, ki jih vsebuje moj strenik so:


  *  comp.emacs

  *  comp.emacs.sources

  *  gnu.emacs

  *  gnu.emacs.bug

  *  gnu.emacs.help

  *  gnu.emacs.sources


  6.4.  Potni seznami

  Edini potni seznam, ki je posveen urejevalniku Emacs in ga v tem
  trenutku poznam je seznam NT-Emacs. To je seznam, namenjen ljudem, ki
  uporabljajo razliico urejevalnika Emacs za Micro$oft Windows . Ve
  informacij boste nali v dokumentu NT-Emacs FAQ
  http://www.cs.washington.edu/homes/voelker/ntemacs.html.


  6.5.  Arhiv jezika Lisp za Emacs

  Iz arhiva jezika Lisp za Emacs README:


       Arhiv jezika Lisp za Emacs na ftp.cis.ohio-state.edu vsebuje
       tevilne koke in pakete kode jezika Lisp za Emacs. Lisp za
       Emacs je jezik, ki se uporablja za razirjanje urejevalnika
       GNU Emacs, ki ga je izdala Free Software Foundation.  eprav
       je v distribuciji urejevalnika GNU Emacs vkljueno veliko
       kode jezika Lisp, je veliko ljudi napisalo pakete za komu
       nikacijo z drugimi sistemi, za boljo podporo urejanja pro
       gramskega jezika, za dodajanje novih lastnosti ali za sprem
       injanje privzetega obnaanja urjevalnika Emacs. Veji del
       vsebine tega dokumenta so napisali posamezniki in jo javno
       razirili preko Interneta po potnih seznamih info-emacs ali
       info-gnu-emacs ali po noviarskih skupinah comp.emacs,
       gnu.emacs ali gnu.emacs.sources.


  Arhivi so na voljo na naslovu ftp://ftp.cis.ohio-state.edu/pub/emacs-
  lisp/.


  NOTE: Moje mnenje je, da arhiv jezika Lisp za Emacs postaja e
  nekoliko zastarel.  Objavi se zelo malo novih (ali posodobljenih)
  paketov, eprav obstajajo. Objavljeni pa so na noviarski skupini
  comp.emacs.sources. (e mislite, da se motim, me lahko popravite.)


  7.  Zasluge

  K uspehu tega dokumenta so pripomogli naslednji ljudje.


  *  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
