Om du vill stavningskontrollera dina dokument från Emacs, så kan du använda Ispell-paketet och dess Emacs-läge.
Du kan ställa in Emacs så att det, då du laddar en fil, automatiskt väljer vilka ordlistor det ska använda (det kan använda flera). Den första, och säkerligen den viktigaste, är huvudordlistan, vilken distribueras med Ispell. Du kan välja mellan flera olika språk. Den andra är din personliga ordlista, där Ispell infogar ord som det inte kunde finna i huvudordlistan, men du sade åt det att komma ihåg.
En svensk (och även en dansk) ordlista kan hämtas på http://www.sslug.dk/ispell.
Om du vill använda den standardiserade franska ordlistan som
kommer med Ispell, och om du vill använda filen
.ispell-perso-ord
, i din hemkatalog, som din personliga
ordlista, så lägg till följande rader till din
.emacs
-fil:
(setq sgml-mode-hook '(lambda () "Defaults for SGML mode." (setq ispell-personal-dictionary "~/.ispell-perso-ord") (ispell-change-dictionary "francais") ))
Du kan få problem om du inte stavningskontrollerar alla dokument i samma språk hela tiden. Om du översätter dokument, så är det ganska troligt att du byter språk (och ordlistor) väldigt ofta.
Jag känner inte till något Lisp-sätt att välja, antingen automatiskt eller med ett enkelt mus-klick, huvudordlista eller personliga ordlista, som ska associeras med språket du för tillfället använder. (Om du känner till något om detta, tala om det för mig!)
Det är dock möjligt att ange, på slutet av filen, vilka ordlistor du vill använda för den aktuella filen (och endast denna). Det räcker att lägga till dem som kommentarer, så att Ispell kan läsa dem då det kör stavningskontrollen (spell-check).
<!-- Local IspellDict: english --> <!-- Local IspellPersDict: ~/emacs/.ispell-english -->
Om du redan, i din .emacs
-fil, har angivit att dina
standard-ordlistor är de franska, så kan du lägga till dessa
rader i slutet av varje engelsk fil.
För att stavningskontrollera ett helt dokument, använd, varifrån som
helst i dokumentet, Meta-x ispell-buffer
-kommandot. Du
kan även välja att bara kontrollera en viss del av dokumentet:
Ctrl-Spc
(mark-set-command),
Meta-x ispell-region
.
Sedan kör Emacs Ispell. Då det stöter på ett okänt ord visar det dig det aktuella ordet (vanligtvis markerat) och ber dig välja mellan:
Meta-x
ispell-continue
,
i-tangenten låter dig infoga ett ord i din personliga ordlista, och A låter dig infoga ett ord i en lokal ordlista för den aktuella filen.
Den lokala filens ordlista är en sekvens av ord infogade i slutet av filen, som kommentarer, vilka läses in a Ispell varje gång det ska kontrollera filen. På det sättet kan du behålla vissa ord, vilka är acceptabla i denna fil, även om de inte med nödvändighet är acceptabla i andra filer.
Enligt min åsikt så är det bättre att reservera den personliga ordlistan för ord som huvudordlistan inte känner till, men som tillhör språket (som sammansatta ord), plus några vanliga ord som substantiv och andra ord (som Linux), om de inte är alltför lika ett riktigt ord, som finns i huvudordlistan; att lägga till alltför många ord i den personliga ordlistan, såsom förnamn, kan vara farligt, eftersom de kan likna ett ord som ingår i språket (man skulle kunna tänka sig att Ispell blir förvirrat av det följande: `Det roligaste med Young Ones var när Neil skulle koka linus-soppa.'
Om jag skulle lagt in Linus i min personliga ordlista!
Ispell kan utföra stavningskontroll på filen medan du
skriver. Till detta måste du använda
ispell-minor-mode. För ett starta eller avsluta det,
skriv Meta-x ispell-minor-mode
. Ispell piper
varje gång du skriver ett ord som det inte känner igen.
Om dessa pip irriterar dig (eller om din rumskamrat tar
en tupplur), så kan du ersätta de irriterande pipen med
att skärmen blinkar till, vilket du gör med kommandot Meta-x
set-variable RET visible-bell RET t RET
. För att för evigt
tysta Emacs, kan du lägga till följande rad i din
.emacs
-fil:
(setq visible-bell t)