Emacsとispellの両方のパッケージマネージャーとしてbrew
を使用しています。両方をインストールしました。簡単なグーグルをやっていて、Emacsにispellがどこにあるかを伝え、適切な辞書をロードする方法を理解することができませんでした。
今私がM-x ispell-check-version
、Emacsは生意気に返信します:Searching for program: No such file or directory
。
Emacs
を使用してispell
を使用するにはどうすればよいですか?
探している変数は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)
Emacs関数が見つからない場合は、C-h f
(または変数:C-h v
)を思い出してください。 Describe function
プロンプトでispell
と入力すると、ispell is an interactive compiled LISP function in 'ispell.el'.
と表示され、そこから通常、探しているものを見つけることができます。
.emacs
を絶対パスで編集せずにこれを解決するのに役立ったのは(異なるOS間でファイルを共有しているため、実行するのをためらっていた)は、brewを介してispellをインストールすることでした。
brew install ispell --with-lang-en
この答え (そして私のコメント)で説明されています。
これは環境変数の問題です。 exec-path-from-Shell
パッケージでこの問題が修正されました。
(exec-path-from-Shell-initialize)
を評価した後、ispellは機能しました。
これで解決された問題であるはずですが、Mac OS Xでispellを正常に使用していることを追加したかったのです。isbpellをhomebrewにインストールし、正しいパスを.emacs(/ usr/local/bin)に追加して解決しました私にとっての問題。
Ispellのインストールにのみbrewを使用し、emacs このタイプのdmgから をインストールしていて、ドックのアイコンからemacsを実行する場合でも、OSなので、ログアウトして再度ログインする必要があります。 Xはパス内のアイテムをキャッシュし、ispellをすぐには表示しません。この情報が知らない場合は、おそらくこの問題を回避できます。