2013-06-15 14 views
11

Auf meinem Mac (Snow Leopard, 10.6.8) verwende ich eine modifizierte Version von Emacs 24.2 provided here, um Emacs Speaks Statistics (ESS) von downloads page zu verwenden. Emacs funktioniert, aber ich konnte noch keine Rechtschreibprüfung durchführen.Emacs kann flyspell/ispell nicht finden

Um dies zu beheben, befolge ich die Anweisungen von this page Flyspell herunterladen. Ich kopierte die Datei flyspell.el in mein Verzeichnis /Applications/Emacs.app/Contents/Resources/site-lisp, das ist offensichtlich das Verzeichnis meines Emacs laden Pfad (beachten Sie, dass zum Beispiel die auctex.el Datei in diesem Verzeichnis befindet).

Dann habe ich, indem Sie meinen .emacs Datei geändert:

(autoload 'flyspell-mode "flyspell" "On-the-fly spelling checker." t) 
(autoload 'flyspell-delay-command "flyspell" "Delay on command." t) 
(autoload 'tex-mode-flyspell-verify "flyspell" "" t) 
(add-hook 'LaTeX-mode-hook 'turn-on-flyspell) 

Wenn ich eine .tex Datei öffnen und verwenden M-x flyspell-mode, kann ich „auto-complete“ (beispielsweise durch Lasche gedrückt es gibt mir die richtige flyspell Optionen), aber wenn ich RET drücken erhalte ich:

Searching for program: no such file or directory, ispell 

keine der Lösungen in this question oder this question gearbeitet gestellt, so dass ich bin mir nicht sicher, was das Problem hier ist. Hat jemand Ideen oder ist dieses Problem schon einmal aufgetreten?

Antwort

22

Bitte, bitte lesen Sie die Dokumentation von Emacs selbst zur Verfügung gestellt, bevor Sie willkürliche Anweisungen von zufälligen Websites versuchen.

Emacs 24.2 enthält Flyspell. Sie müssen nicht explizit installieren. Wenn Sie dies tun, machen Sie dies rückgängig, dh löschen Sie flyspell.el von /Applications/Emacs.app/Contents/Resources/site-lisp. Am besten löschen Sie /Applications/Emacs.app vollständig, und installieren Sie es neu, um von Grund auf neu zu starten.

Flyspell benötigt jedoch eine Rechtschreibprüfung, die nicht in Emacs enthalten ist. Die Fehlermeldung besagt, dass Sie kein solches Tool installiert haben.

Sie müssen die Rechtschreibprüfung ASpell installieren. Unter OS X ist der beste Weg, es über den Paketmanager homebrew, d. H. brew install aspell --with-lang-en, zu installieren.

+1

oder Macports als Alternative zu Homebrew. – lawlist

+0

Wenn der O.P. sein Leben wirklich einfach gestalten will, verwenden Sie stattdessen Aquamacs - er verwendet den OSX-eingebauten NSSpellChecker. Dann benötigt der O. P. nichts. – lawlist

+0

@lawlist Aquamacs ist nicht einfach. Mit Aquamacs müsste er ESS selbst installieren, was wohl nicht schwieriger ist, als aspell zu installieren, aber es ist auch nicht einfacher. Außerdem baut Aquamacs immer noch auf Emacs 23, das veraltet ist und von einigen Paketen nicht mehr unterstützt wird. – lunaryorn

2

benutzte ich homebrew ispell und apsell zu installieren und erhalten würde, die je ein Ich habe in ~/.emacs mit

[iMac ~]$ cat .emacs 
(setq ispell-program-name "/usr/local/bin/aspell") 

Es gibt eine ähnliche Diskussion dieses here

2

Auf Fenster musste ich Gehen Sie folgendermaßen vor ispell Prozess zu starten:

  1. heruntergeladen ispell (http://www.ssc.wisc.edu/~dvanness/ispell.htm)
  2. Inhalt in einem Ordner entpacken, der sich in meinem Pfad befindet (z. Windows oder c: \ windows \ system
  3. herunterladen aspell (http://aspell.net/win32/)- erhalten der vollständigen Download finden Sie den Link auf der Seite (ob Sie ispell brauchen oder nicht, ich bin nicht sicher)
  4. den Code hinzufügen.. unten zu Ihrer init gezeigt.el

  5. Run aspell Installateur

  6. starten Emacs wieder, der Fehler sollte nicht kommen Datei.

    (require 'package) 
    (add-to-list 'package-archives 
         '("MELPA Stable" . "http://stable.melpa.org/packages/") t) 
    (package-initialize) 
    (package-refresh-contents) 
    
    (package-install 'flycheck) 
    
    (global-flycheck-mode) 
    
    (use-package flycheck 
        :ensure t 
        :init 
        (global-flycheck-mode t)) 
    
    (setq ispell-program-name "C:\\Program Files (x86)\\Aspell\\bin\\aspell.exe" 
    

Sie viele müssen alle oben nicht tun, aber das ist, was für mich auf Emacs arbeitete unter Windows 7.