Wie kann ich die Sprache in EMACs ändern, wenn ich Isspell benutze?
Frage
Ich möchte den Befehl ispell-buffer in emacs verwenden. Es verwendet standardmäßig die englische Sprache. Gibt es eine einfache Möglichkeit, zu einem anderen Wörterbuch zu wechseln (z. B. eine andere Sprache)?
Lösung
Der folgende Befehl schlägt eine Liste installierter Wörterbücher vor, die verwendet werden sollen:
M-x ispell-change-dictionary
Normalerweise, M-x isp-c-d
erweitert auch auf das obige.
Andere Tipps
In der Datei ispell.el können Sie einige Optionen für die angeben ispell
Befehle. Dies geschieht, indem ein Abschnitt zum Ende Ihrer Datei wie folgt hinzugefügt wird:
;; Local Variables:
;; ispell-check-comments: exclusive
;; ispell-local-dictionary: "american"
;; End:
Beachten Sie, dass das Doppel -Semikolon den Beginn der Kommentare im aktuellen Modus markiert. Es sollte wahrscheinlich geändert werden, um die Art und Weise widerzuspiegeln, wie Ihre Datei (Programmiersprache) Kommentare einführt, wie wie //
für Java.
Am Ende einer Latex -Datei können Sie verwenden:
%%% Local Variables:
%%% ispell-local-dictionary: "british"
%%% End:
Dadurch wird das Wörterbuch so eingestellt, dass diese Datei nur für diese Datei verwendet werden soll.
Verwenden M-x ispell-change-dictionary
und schlagen TAB
Um zu sehen, welches Wörterbuch für Sie verfügbar ist.
Schreiben Sie dann die Einstellung des Standardwörterbuchs in Ihr .emacs
, und fügen Sie einen Haken hinzu, um Isspell automatisch für Ihren spezifischen Modus zu starten (falls Sie möchten).
Starten Sie beispielsweise Isspell in Auctisx automatisch mit britischem Englisch (standardmäßig ist Englisch Dictionary American English)
(add-hook 'LaTeX-mode-hook 'flyspell-mode) ;start flyspell-mode
(setq ispell-dictionary "british") ;set the default dictionary
(add-hook 'LaTeX-mode-hook 'ispell) ;start ispell
Wenn Sie die Sprache pro Direktorium ändern möchten, können Sie diese zu a hinzufügen .dir-locals.el
Datei:
(ispell-local-dictionary . "american")
Wenn Sie nein haben .dir-locals.el
Die Datei wird bereits so aussehen:
((nil .
((ispell-local-dictionary . "american")))
)
Siehe das EMACS Wiki -Seite zu Verzeichnisvariablen für mehr Informationen.
Zur Bequemlichkeit (F7) habe ich meinen .Emacs Folgendes hinzugefügt:
(global-set-key [f7] 'spell-checker)
(require 'ispell)
(require 'flyspell)
(defun spell-checker ()
"spell checker (on/off) with selectable dictionary"
(interactive)
(if flyspell-mode
(flyspell-mode-off)
(progn
(flyspell-mode)
(ispell-change-dictionary
(completing-read
"Use new dictionary (RET for *default*): "
(and (fboundp 'ispell-valid-dictionary-list)
(mapcar 'list (ispell-valid-dictionary-list)))
nil t))
)))
Übrigens: Vergessen Sie nicht, die benötigten Wörterbücher zu installieren. ZB über Debian/Ubuntu für das deutsche und englische Wörterbuch:
sudo apt install aspell-de aspell-en