我使用brew
Emacs 和 ispell 作为我的包管理器。我两个都安装了。快速谷歌了一下,我无法弄清楚如何告诉 Emacs ispell 在哪里以及如何加载适当的字典。
现在,当我执行 a 时M-x ispell-check-version
,Emacs 傲慢地回复:Searching for program: No such file or directory
。
我该如何配置Emacs
才能使用ispell
?
答案1
您要查找的变量是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
:)。ispell
根据提示输入Describe function
会告诉您ispell is an interactive compiled Lisp function in 'ispell.el'.
,从那里您通常可以找到您要查找的内容。
答案2
帮助我解决这个问题而不用.emacs
绝对路径编辑(我不愿意这样做,因为我在不同操作系统之间共享文件)是通过brew安装ispell
brew install ispell --with-lang-en
如中所解释的这个答案(以及我的评论)。
答案3
这是环境变量的问题。该exec-path-from-shell
软件包为我解决了这个问题。
评估后(exec-path-from-shell-initialize)
, ispell 起作用了。
答案4
即使您仅使用brew进行ispell安装并且已经安装了emacs来自这种类型的伤害,并且您从 Dock 中的图标运行 emacs,您将需要注销并再次登录,因为 OS X 会缓存您路径中的项目,并且不会立即看到 ispell。如果此信息对您来说不是什么新鲜事,那么您无论如何都可以解决此问题。