web-dev-qa-db-ja.com

Mac OS Xで「ispell」を使用するようにEmacsを構成するにはどうすればよいですか?

Emacsとispellの両方のパッケージマネージャーとしてbrewを使用しています。両方をインストールしました。簡単なグーグルをやっていて、Emacsにispellがどこにあるかを伝え、適切な辞書をロードする方法を理解することができませんでした。

今私がM-x ispell-check-version、Emacsは生意気に返信します:Searching for program: No such file or directory

Emacsを使用してispellを使用するにはどうすればよいですか?

27
Avery Chan

探している変数はispell-program-nameです。 .emacsのどこかにこれを詰め込みます:

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

または、M-x set-variableなどを使用します。

参照:

  • ソースから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)
    
  • 参照: http://emacswiki.org/emacs/InteractiveSpell

Emacs関数が見つからない場合は、C-h f(または変数:C-h v)を思い出してください。 Describe functionプロンプトでispellと入力すると、ispell is an interactive compiled LISP function in 'ispell.el'.と表示され、そこから通常、探しているものを見つけることができます。

15
ckhan

.emacsを絶対パスで編集せずにこれを解決するのに役立ったのは(異なるOS間でファイルを共有しているため、実行するのをためらっていた)は、brewを介してispellをインストールすることでした。

brew install ispell --with-lang-en

この答え (そして私のコメント)で説明されています。

11
metakermit

これは環境変数の問題です。 exec-path-from-Shellパッケージでこの問題が修正されました。

(exec-path-from-Shell-initialize)を評価した後、ispellは機能しました。

1
vise

これで解決された問題であるはずですが、Mac OS Xでispellを正常に使用していることを追加したかったのです。isbpellをhomebrewにインストールし、正しいパスを.emacs(/ usr/local/bin)に追加して解決しました私にとっての問題。

1
pratim

Ispellのインストールにのみbrewを使用し、emacs このタイプのdmgから をインストールしていて、ドックのアイコンからemacsを実行する場合でも、OSなので、ログアウトして再度ログインする必要があります。 Xはパス内のアイテムをキャッシュし、ispellをすぐには表示しません。この情報が知らない場合は、おそらくこの問題を回避できます。

0
mrbobfrog