web-dev-qa-db-ja.com

Emacsはflyspell / ispellを見つけることができません

私のMac(Snow Leopard、10.6.8)では、Emacs 24.2の修正バージョンを使用しています ここで提供ダウンロードページ からEmacs Speaks Statistics(ESS)を利用しています。 Emacsは動作しますが、スペルチェッカーを動作させることができませんでした。

これを修正するために、私は このページ からの指示に従ってflyspellをダウンロードしています。 flyspell.elファイルを/Applications/Emacs.app/Contents/Resources/site-LISPディレクトリにコピーしました。これは明らかに私のemacsロードパスのディレクトリです(たとえば、auctex.elファイルはそのディレクトリにあることに注意してください)。

次に、.emacsファイルを次のように変更しました。

(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)

.texファイルを開いてM-x flyspell-modeを使用すると、ファイルを「オートコンプリート」できます(つまり、Tabキーを押すと、正しいフライスペルオプションが表示されます)が、RETを押すと私は得る:

Searching for program: no such file or directory, ispell

この質問 または この質問 で提示された解決策はいずれも機能しなかったため、ここで問題が何であるかはわかりません。誰かがアイデアを持っているか、以前にこの問題に遭遇したことがありますか?

17
TakeS

ランダムなウェブサイトから任意の指示を試す前に、Emacs自体が提供するドキュメントを読んでください

Emacs24.2にはFlyspellが含まれています。明示的にインストールしないでください。その場合は、これを元に戻します。つまり、flyspell.elから/Applications/Emacs.app/Contents/Resources/site-LISPを削除します。せいぜい、/Applications/Emacs.appを完全に削除し、再インストールして、最初からやり直してください。

ただし、Flyspellにはスペルチェックツールが必要です。これはEmacsには含まれていません。エラーメッセージは、そのようなツールがインストールされていないことを示しています。

ASpell スペルチェッカーをインストールする必要があります。 homebrew with brew install aspellでインストールできます。

33
lunaryorn

homebrew を使用してispellとapsellをインストールし、〜/ .emacsで設定したものを取得しました

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

これについても同様の議論があります ここ

Windowsでは、Ispellプロセスを開始するために次のことを行う必要がありました。

  1. ダウンロードしたispell( http://www.ssc.wisc.edu/~dvanness/ispell.htm
  2. パス内のフォルダー(Windowsまたはc:\ windows\systemなど)のコンテンツを解凍します
  3. aspellをダウンロード( http://aspell.net/win32/)- 完全なダウンロードを取得します。ページのリンクを参照してください。 (ispellが必要かどうかはわかりません)
  4. 以下に示すコードをinit.elファイルに追加します

  5. Aspellインストーラーを実行する

  6. Emacsを再起動してください。エラーは発生しません。

    (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"
    

多くの人が上記のすべてを行う必要はありませんが、これがWindows7で実行されているEmacsで私にとってうまくいったことです。

3
Stryker