使用hunspell的Win32上的Emacs - 个人字典无法保存

时间:2011-10-04 20:39:18

标签: emacs emacs23 hunspell ispell emacsw32

所以我按照wiki中的说明使用hunspell在Windows 7上为Emacs(v23.3.1)设置了工作设置。

http://www.emacswiki.org/emacs/InteractiveSpell

当我拼写检查文档(M-x ispell)时,emacs为我提供了使用击键'i''u'将标记的单词插入个人词典的选项。最后,它询问我是否要保存修改后的个人字典,我选择是。

问题是个人词典没有保存到磁盘,之前突出显示的单词再次在新会话中被标记。

尝试在其他地方推荐的以下内容无济于事:

  

(setq ispell-personal-dictionary(expand-file-name“〜/ personal-dictionary.txt”))

任何人都有解决方案或解决方法吗?如果您能够保存到个人词典,请发布.emacs

中的相关位

2 个答案:

答案 0 :(得分:4)

我认为问题可能在于您告诉ispell存储您的个人词典时,您尚未向hunspell提供此信息。

来自man page

  

-p dict

     

设置个人字典的路径。默认值为$ HOME / .hunspell_default。设置-d或DICTIONARY环境变量,个人字典将为$ HOME / .hunspell_dicname

我正在使用使用Cygwin编译的hunspell,并使用en-GB字典。如果我将ispell-personal-dictionary的值设置为"c:/cygwin/home/luke.girvin/.hunspell_en_GB",则使用ispell添加到个人词典中的任何单词都会正确保存。

因此,解决问题的简便方法是将个人字典文件的名称更改为默认情况下hunspell所需的名称。

或者,您可以使用-p选项告诉hunspell您要使用哪个词典文件,也许可以通过自定义ispell-cmd-args

此外,您的词典文件确实存在吗?我发现Emacs不会为我创建此文件,但更新现有的空文件。

答案 1 :(得分:1)

尝试将个人文件夹用于“特殊”Windows程序。问题是只有拥有管理员权限的用户才能写入C:\Program Files,如果你在那里保存了emacs并且用你平常的用户机会调用,你就不能写在那里。

解决方案:只需创建一个新文件夹,例如C:\Programs\,然后将emacs放在那里。这样,您的用户就有权写入该文件夹。

这是一种解决方法,但对于某些应用程序来说,这种方式更容易。