Naprej Nazaj Kazalo

4. Prilagoditev Emacsa

4.1 Šumniki in črke z akcenti

Črke slovenske abecede so podprte v kodnem naboru ISO Latin 2 (ISO 8859-2). Na tem mestu je koristno prebrati Slovenian HOWTO, ki razlaga nastavitve za vnos, prikaz in tiskanje naših črk.

Emacs prebere svoje nastavitve iz naslednjih datotek:

Kjer se sklicujemo na datoteko .emacs, pravzaprav s tem mislimo na katerokoli izmed zgornjih treh datotek.

Prikaz 8-bitnih znakov

Če želite pisati spise .sgml v slovenščini ali v kateremkoli drugem evropskem jeziku, boste potrebovali 8-bitne znake. Emacs prilagodite za prikaz 8-bitnih znakov z naslednjo vrstico v vaši datoteki .emacs:

(standard-display-european t)
Za vnos zahodnoevropskih črk pride prav tudi naslednja vrstica, ki pa zaenkrat ni uporabna za slovenščino:
(load-library "iso-syntax")
Če uporabljate Emacs za pisanje zahodnoevropskih besedil na terminalu, ki ne podpira 8-bitnega prikaza, lahko uporabite knjižnico iso-ascii ((load-library "iso-ascii")), ki poskrbi, da Emacs prikazuje najboljše približke 8-bitnih črk.

Vnos 8-bitnih znakov

Tipkovnico nastavite za vnos 8-bitnih črk v konzoli ali pod okni X, če Emacs poganjate tam. Tovrstne nastavitve so skupne vsem programom pod konzolo ali okni X in so opisane v spisu Slovenian HOWTO.

Če vaša tipkovnica v konzoli ali pod oknih X torej podpira vnos 8-bitnih znakov, boste morali le v datoteko .emacs dodati naslednje vrstice:

;;  Omogočimo vnos znakov s kodo večjo od 127
(set-input-mode (car (current-input-mode))
        (nth 1 (current-input-mode))
        0)
Če vaš terminal ne podpira 8-bitnega vnosa, ste pri pisanju slovenskih besedil v težavah. Za pisanje zahodnoevropskih besedil si lahko pomagate z dodatnimi paketi:

Knjižnica iso-acc

Knjižnica za Emacs iso-acc vam bo omogočila vnos 8-bitnih znakov s tipkovnico, ki sicer omogoča le vnos 7-bitnih črk.

Za uporabo te knjižnice vstavite naslednje v vašo datoteko .emacs:

(load-library "iso-acc")

Ko boste naslednjič pognali Emacs in odprli datoteko, ki bi jo radi uredili, napišite Meta-x iso-accents-mode.

Črko é v francoski besedi café lahko vstavite tako, da pritisnete ' in potem še e. V splošnem lahko vpišete zahodnoevropski znak z akcentom tako, da najprej pritisnete ustrezen akcent, ki mu sledi črka pod njim (velika ali mala). Uporabite lahko naslednje akcente:

  • ' : ostrivec
  • ` : krativec
  • ^ : strešica
  • " : preglas"
  • ~ : tilda nad črko, sedij (kljukica pod ,,c``), in drugi posebni primeri (glejte iso-acc.el)
  • / : različni skandinavski akcenti, idr.
  • Če potrebujete enega od teh znakov in ne naglašene črke, pritisnite za njim presledek. Na primer, za vnos l'éléphant, napišite l ' spc ' e l ' e ...

    Vse možne kombinacije boste našli v datoteki iso-acc.el.

    Tipka Meta

    Nekateri terminali vam omogočajo vnos 8-bitnih znakov s pomočjo tipke Meta (ali Alt). Na primer, če pritisnete kombinacijo Meta-i lahko dobite znak é.

    Vendar Emacs potrebuje tipko Meta za drugačno uporabo. Zato morate pritisniti zaporedje Ctrl-q (ukaz quoted-insert) preden pritisnete Meta-i.

    Ta ukaz vam dovoljuje vnos znakov tudi z vpisom osmiške kode. Pritisnite kombinacijo Meta-q, ki ji sledi osmiška koda znakov, ki bi jih radi vnesli. Slovenske šumnike ,,ČŠŽ`` in hrvaški črki ,,ĆĐ``, pisane po ISO Latin 2, lahko vnesete z naslednjimi kombinacijami:

    č  Ctrl-q 350    Č  Ctrl-q 310
    š  Ctrl-q 271    Š  Ctrl-q 251
    ž  Ctrl-q 276    Ž  Ctrl-q 256
    ć  Ctrl-q 346    Ć  Ctrl-q 306
    đ  Ctrl-q 360    Đ  Ctrl-q 320
    

    Prikaz 8-bitnih znakov v SGML DTD LinuxDoc

    V SGML lahko vnašate naglašene znake z makroukazi, vendar žal ne tudi srednjeevropskih. Na primer, simbol za tipko é je é. V splošnem, aplikacije, ki morajo brati SGML znajo brati 8-bitne znake in ni potrebno uporabljati teh makroukazov. Vendar nekateri morda ne bodo mogli brati 8-bitnih znakov. Če vemo, da obstaja preprosta rešitev (spet samo za zahodne narode, op. prev.), bi bilo škoda pustiti, da se takšne aplikacije sesujejo.

    Knjižnica iso-sgml vam omogoča vnos naglašenih znakov v Emacsu, kot vedno, a ob shranjevanju vaše datoteke na disk, bo samodejno spremenila 8-bitne znake v njihove ekvivalente v SGML. Vendar, žal, slovenske povsem napačno, saj jih v ISO Latin 1 ni.

    No, zahvaljujoč tej knjižnici je lahko vnašati in brati spise z zahodnimi znaki, pisanimi po ISO Latin 1 (ISO 8859-1) v Emacsu, in prepričani ste lahko, da bo aplikacija, ki sicer ne sprejme 8-bitnih sestavkov, po takem postopku vašega sprejela.

    Za uporabo te knjižnice morate dodati naslednje vrstice v vašo datoteko .emacs:

    (setq sgml-mode-hook
    '(lambda () "Privzete nastavitve načina SGML."
    (load-library "iso-sgml")))
    

    4.2 Način SGML

    Po nalaganju datoteke s podaljškom .sgml, Emacs samodejno vstopi v način sgml (ang. sgml mode). Če ne, mu lahko to naročite ročno z ukazom Meta-x sgml-mode, ali samodejno z dodatkom naslednjih vrstic v vašo datoteko .emacs:

    (setq auto-mode-alist
    (append '(("\.sgml$"  . sgml-mode))
              auto-mode-alist))
    
    Ta način vam bo, na primer, omogočil izbiro tega, kako boste vnašali 8-bitne znake. Z ukazom Meta-x sgml-name-8bit-mode (ali z menujsko postavko SGML/Toggle 8-bit insertion), lahko izberete vnos 8-bitnih znakov kot takih, ali v obliki SGML, se pravi, v obliki &...;.

    Emacs vam bo tudi dovoljeval skriti ali prikazati oznake SGML, z ukazom Meta-x sgml-tags-invisible (ali z menujsko postavko SGML/Toggle Tag Visibility).

    4.3 Način PSGML

    Načinu PSGML zelo pomaga pri urejanju spisov SGML z Emacsom.

    Dokumentacija za psgml-linuxdoc razlaga, kako namestiti in uporabljati ta način z zvrstjo besedila LinuxDoc.

    4.4 Razno

    Način auto-fill

    Ko v normalnem načinu napišete odstavek in pridete do konca vrstice, morate sami uporabiti tipko Return, da pridete v naslednjo vrstico, sicer se bo vaša vrstica nadaljevala nedoločeno dolgo skozi cel odstavek. Kadar uporabite Return za pomik v novo vrstico, dobite odstavek z neporavnanimi desnimi robovi. Če dopustite, da so nekatere daljše od razumne širine, jih z nekaterimi urejevalniki ne boste mogli videti.

    Način auto-fill avtomatizira to nehvaležno opravilo: ko greste dlje od določenega stolpca (privzeto 70-tega), vas samodejno postavi v naslednjo vrstico.

    Takole uporabite ta način in nastavite širino vaših vrstic na 80:

    (setq sgml-mode-hook
         '(lambda () "Defaults for SGML mode."
             (auto-fill-mode)       
             (setq fill-column 80)))
    


    Naprej Nazaj Kazalo