Wie konfiguriere ich Emacs für die Verwendung von 'ispell' unter Mac OS X?

27

Ich verwende brewals mein Paketmanager sowohl für Emacs als auch für ispell. Ich habe beides installiert. Bei einer schnellen Google-Suche war es mir nicht möglich, Emacs mitzuteilen, wo sich ispell befindet, und die entsprechenden Wörterbücher zu laden.

Gerade jetzt , wenn ich ein tun M-x ispell-check-version, Emacs saucily antwortet: Searching for program: No such file or directory.

Wie konfiguriere ich Emacsdie Verwendung ispell?

Avery Chan
quelle

Antworten:

15

Die Variable, nach der Sie suchen, ist ispell-program-name. Pack das irgendwo in dein .emacs:

(setq ispell-program-name "/path/to/ispell")

Oder verwenden Sie M-x set-variable, etc.

Verweise:

  • Von den Quellen zu ispell.el

    (defcustom ispell-program-name
      (or (locate-file "aspell"   exec-path exec-suffixes 'file-executable-p)
          (locate-file "ispell"   exec-path exec-suffixes 'file-executable-p)
          (locate-file "hunspell" exec-path exec-suffixes 'file-executable-p)
          "ispell")
      "Program invoked by \\[ispell-word] and \\[ispell-region] commands."
      :type 'string
      :group 'ispell)
    
  • Siehe auch: http://emacswiki.org/emacs/InteractiveSpell

Wenn Sie keine Emacs-Funktion finden können, merken Sie sich C-h f(oder eine Variable:) C-h v. Wenn Sie ispellan der Describe functionEingabeaufforderung eingeben, werden Sie darauf hingewiesen ispell is an interactive compiled Lisp function in 'ispell.el'., und von dort aus können Sie in der Regel das finden, wonach Sie suchen.

ckhan
quelle
1
Wenn Sie set-variable verwenden, um ispell-program-name festzulegen, müssen Sie den Wert in doppelte Anführungszeichen setzen. In meinem Fall war es "/ opt / local / bin / aspell"
Jistanidiot
11

Was mir geholfen hat, dies zu lösen, ohne meine .emacsmit absoluten Pfaden zu bearbeiten (was ich nicht tun wollte, da ich die Datei zwischen verschiedenen Betriebssystemen teile), war die Installation von ispell über brew

brew install ispell --with-lang-en

wie in dieser Antwort erklärt (und mein Kommentar).

Metakermit
quelle
1

Dies ist ein Problem mit Umgebungsvariablen. Das exec-path-from-shellPaket hat dieses Problem für mich behoben.

Nach der Auswertung (exec-path-from-shell-initialize)hat ispell funktioniert.

Schraubstock
quelle
0

Auch wenn Sie brew nur für die ispell-Installation verwenden und Emacs von diesem dmg-Typ installiert haben und Sie Emacs über ein Symbol im Dock ausführen, möchten Sie sich abmelden und erneut anmelden, da OS X Elemente in Ihrem Pfad und zwischengespeichert wird ispell nicht sofort sehen. Wenn diese Informationen für Sie nicht neu sind, können Sie dieses Problem wahrscheinlich trotzdem umgehen.

mrbobfrog
quelle
0

Ich bin mir ziemlich sicher, dass dies ein behobenes Problem ist, wollte aber dennoch hinzufügen, dass ich ispell unter Mac OS X erfolgreich verwendet habe. Die Installation von ispell in homebrew und das Hinzufügen des korrekten Pfads in .emacs (/ usr / local / bin) wurden behoben das problem für mich.

Pratim
quelle