Se volete controllare l'ortografia dei vostri documenti all'interno di Emacs, allora potete usare il pacchetto Ispell e la sua modalità Emacs.
Potete impostare Emacs in modo tale che quando un file viene caricato scelga automaticamente quale dizionario usare (potete selezionarne diversi). Il primo, sicuramente il piú importante, è il dizionario distribuito con Ispell. Potete scegliere fra varie lingue. Il secondo è il vostro dizionario personale, dove Ispell inserirà le parole che non può trovare nel dizionario principale ma che devono essere ricordate.
Se desiderate usare come dizionario predefinito quello Francese che è distribuito con Ispell, e se volete usare il file .ispell-dico-perso
, che si trova nella vostra directory home, come dizionario personale, inserite le seguenti linee nel vostro file .emacs
:
(setq sgml-mode-hook '(lambda () "Defaut per SGML mode." (setq ispell-personal-dictionary "~/.ispell-dico-perso") (ispell-change-dictionary "francais") ))
Potreste avere qualche problema se non si fate la correzione ortografica dei vostri documenti sempre con la lingua. Se traducete documenti, è normale che passiate da un linguaggio (e dizionario) all'altro molto spesso.
Non sono a conoscenza di una funzione Lisp che permetta di selezionare, sia automaticamente oppure con un click del mouse, il dizionario principale e quello personale associato al linguaggio che viene utilizzato (se qualcuno lo sa, per favore me lo dica!).
In ogni caso, è possibile indicare, alla fine del file, quale dizionario volete che venga utilizzato per quel determinato documento. È sufficiente aggiungere queste specifiche come commenti, in modo tale che Ispell possa leggerli quando viene avviata la correzione ortografica. Ecco un esempio per la lingua inglese:
<!-- Local IspellDict: english --> <!-- Local IspellPersDict: ~/emacs/.ispell-english -->Se avete precedentemente definito, nel vostro file
.emacs
, che il vostro dizionario è, per esempio, quello francese, allora potete aggiungere queste linee alla fine di ogni file scritto in inglese.
Per eseguire la correzione ortografica del vostro documento, usate, in qualcunque punto del documento, il comando Meta-x ispell-buffer
. Potete in ogni caso eseguire questo controllo in una singola sezione del documento:
Ctrl-Spc
(mark-set-command),
Meta-x ispell-region
.
A questo punto Emacs avvia Ispell. Appena incontra una parola sconosciuta, questa viene mostrata evidenziata e aspetta che immettiate un comando:
Meta-x ispell-continue
Il tasto i vi permette di inserire una parola nel vostro dizionario personale, come A permette di inserirla nel dizionario in file locale.
Il dizionario nel file locale è una sequenza di parole inserite alla fine del file, come commento, rilette da Ispell ogni volta che viene eseguito sul quel file specifico. In questo modo è possibile accetare alcune parole nel file in questione, ma non in altri.
Dal mio punto di vista credo che sia meglio che il dizionario personale venga utilizzato per parole che non sono contenute nel dizionario principale ma che sono tipiche del linguaggio (come le parole accentate), con in piú parole comuni come nomi propri o altre (come Linux), se non sono troppo simili ad altre presenti in quello principale; aggiungere troppe parole nel dizionario personale, come nomi propri, può essere "pericoloso", poiché possono essere viste come parole della lingua in uso (immaginate Ispell alle prese con qualcosa del genere: `When the going gets tof, the tof get going').
Tof è l'abbreviazione francese per il nome proprio Christophe!.
Ispell può controllare l'ortografia mentre state digitando il vostro documento. Dovete utilizzare ispell-minor-mode per questo. Per avviarlo o arrestarlo, digitate Meta-x ispell-minor-mode
. Ispell emetterà un beep ogni volta che digiterete una parola che non è nei due dizionari.
Se questi beep vi stanno annoiando (oppure il vostro compagno di stanza si è stancato di voi.. ), potete rimpiazzarli con un flash sullo schermo, con il comando Meta-x set-variable RET visible-bell RET t RET
. Potete anche aggiungere le seguenti linee nel vostro file .emacs
e Emacs non parlerà mai piú:
(setq visible-bell t)