Next Previous Contents

5. Ispell

Stavekontroll kan gi færre skrivefeil i bruk av emacs. Mange bruker ispell-pakken som en del av emacs-oppsettet.

5.1 Forhåndsbestemt ordliste

Vi må bestemme oppsettet slik at emacs automatisk starter ispell når vi åpner et dokument. Den første ordlista, opplagt den viktigste, følger med ispell. Du kan velge mellom flere språk. Den andre ordlista er din personlige. Her vil ispell lagre ord som ikke finnes i hovedordlista, men emacs ber deg lagre.

Hvis du ønsker å bruke f.eks. norsk ordliste som følger med ispell, og fila .ispell_norsk_personlig som din personlige ordliste, så må du legge til følgende linjer i .emacs-fila:

       (setq sgml-mode-hook
       '(lambda () "Defauts for SGML mode."
       (setq ispell-personal-dictionary "~/.ispell_norsk_personlig")
       (ispell-change-dictionary "norsk-latin1")
       ))
       

5.2 Spesielle ordlister for visse filer

Du opplever få problem ved stavekontroll av dokumenter i samme språk. Oversetter du dokumenter, så er det sannsynlig at du bytter språk (og ordlister) svært ofte.

Vi er ikke kjent med hvordan en velger språk automatisk eller med et par museklikk, slik at både hoved- og personlig ordliste assosieres med språket som brukes til enhver tid. (Om noen vet noe om dette, så send oss tips!).

Det er mulig å indikere ønsket ordliste på slutten av fila slik at kun en type ordliste er gyldig for denne fila, (og bare denne). Når ispell leser nevnte tillegg (se utklippet under), så startes ispell med forhåndsdefinert språk ved oppstart av stavekontroll:

      <!-- Local IspellDict: english -->
      <!-- Local IspellPersDict: ~/emacs/.ispell-english -->
     

Om du legger til ovenstående linjer i dokumentet du skriver på, så vil en erstatte norskordlista med engelsk straks stavekontrollen startes opp. Endringen av ordliste skjer selv om .emacs-fila refererer til en den norske ordlista. Husk at linjene må legges til på slutten av dokumentet du skriver i engelsk. En kan erstatte english med norsk-latin1 om en ønsker norsk stavekontroll av et bestemt dokument som en jobber med.

5.3 Stavekontroll av ditt dokument

Kommandoen Meta-x ispell-buffer gir stavekontroll av hele av hele dokumentet, uavhengig av plassering. Stavekontroll kan også kjøres ved:

Emacs vil kjøre ispell. Når det oppdages et ukjent ord, merkes dette (utheving er vanlig) og du blir spurt om et tastetrykk:

Hvis ispell finner et eller flere ord som er nesten likt det ukjente ordet, så ramses forslagene opp i et lite vindu med et tall foran hvert ord. Velg tall (eller bokstav) for å bytte ut feilstavet ord.

5.4 Personlig ordliste versus lokal ordlistefil

i tasten lar deg legge til et ord i din personlige ordliste. A lar deg legge til et ord i den lokale ordlista.

Den lokale filordlista er en rekke av ord satt inn på slutten av fila. Som nevnt, den gjenleses av ispell hver gang en stavekontrollerer dokumentet. På denne måten kan en akseptere noen ord, akseptert i denne fila, men ikke nødvendigvis akseptert for andre filer.

Så langt jeg ser det er det bedre at den personlige ordlista blir reservert for ord hovedordlista ikke kjenner, men som tilhører språket (f.eks. sammensatte ord), pluss noen vanlige ord som ordentlige egennavn (som Linux), hvis de ikke likner for mye på et virkelig ord i hovedordlista. Å legge til for mange ord i den personlige ordlista kan være farlig fordi de likner ord i språket (som fører til at ispell oppfører seg mystisk):

`When the going gets tof, the tof get going

Tof is a French abbreviation for the first name Christophe.
´ !).

5.5 Stavekontroll mens du skriver

Ispell kan utføre stavekontroll nå du skriver. Bruk ispell-minor-mode til dette. For å starte og stoppe kontrollen, tast Meta-x ispell-minor-mode. Ispell vil pipe hver gang det skrives et ord den ikke kjenner.

Hvis pipingen plager deg (om samboeren tar en blund), kan du erstatte den plagsomme pipingen med et blink på skjermen. Bruk kommandoen Meta-x set-variable RET visible-bell RET t RET. Emacs kan tvinges til taushet ved å legge til følgende i .emacs-fila:

       (setq visible-bell t)
      


Next Previous Contents