Win32 上的 Emacs 与 hunspell - 个人字典无法保存
因此,按照 wiki 中的说明操作后,我使用 hunspell 在 Windows 7 上对 Emacs (v23.3.1) 进行了工作设置。
http://www.emacswiki.org/emacs/InteractiveSpell
当我对文档进行拼写检查时 (< code>Mx ispell),emacs 为我提供了使用击键 'i'
或 'u'
将标记的单词插入个人词典的选项。最后,它询问我是否要保存修改后的个人词典,我选择是。
问题是个人词典未保存到磁盘,并且先前突出显示的单词在新会话中再次被标记。
尝试了其他地方推荐的以下方法,但无济于事:
(setq ispell-personal-dictionary (expand-file-name "~/personal-dictionary.txt") )
有人对此有解决方案或解决方法吗?如果您能够保存到个人词典,请发布 .emacs
中的相关部分
So I have a working setup for Emacs (v23.3.1) on Windows 7 using hunspell after following the instructions in the wiki.
http://www.emacswiki.org/emacs/InteractiveSpell
When I spell check a document (M-x ispell
), emacs gives me the options to insert a flagged word into the personal dictionary using either the keystroke 'i'
or 'u'
. At the end, it asks me if I want to save the modified personal dictionary and I choose yes.
Problem is the personal dictionary is not saved to disk, and the words highlighted earlier are again flagged again in a new session.
Tried the following things recommended elsewhere to no avail:
(setq ispell-personal-dictionary (expand-file-name "~/personal-dictionary.txt") )
Anybody have a solution or workaround for this? If you are able to save to the personal dictionary, kindly post the relevant bits from your .emacs
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为问题可能是,虽然您已经告诉 ispell 您的个人词典存储在哪里,但您没有向 hunspell 提供此信息。
从 手册页:
我正在使用用 Cygwin 编译的 hunspell,并且使用 en-GB 词典。如果我将
ispell-personal-dictionary
的值设置为"c:/cygwin/home/luke.girvin/.hunspell_en_GB"
,则我添加到个人词典中的任何单词使用 ispell 可以正确保存。因此,解决问题的最简单方法是将您的个人词典文件的名称更改为 hunspell 默认期望的名称。
或者,您可以使用 -p 选项告诉 hunspell 您要使用哪个字典文件,也许可以通过自定义 ispell-cmd-args 来实现。
另外,你的字典文件真的存在吗?我发现 Emacs 不会为我创建此文件,但它会更新现有的空文件。
I think the problem may be that while you have told ispell where your personal dictionary is stored, you have not provided this information to hunspell.
From the man page:
I am using hunspell compiled with Cygwin, and am using the en-GB dictionary. If I set the value of
ispell-personal-dictionary
to"c:/cygwin/home/luke.girvin/.hunspell_en_GB"
, any words I add to my personal dictionary using ispell are saved correctly.So, the easiset way to fix your problem is to change the name of your personal dictionary file to whatever hunspell expects by default.
Alternatively, you could use the
-p
option to tell hunspell which dictionary file you want to use, perhaps by customizingispell-cmd-args
.Also, does your dictionary file actually exist? I found that Emacs would not create this file for me, but it would update an existing empty file.
尝试使用个人文件夹来存放“特殊”Windows 程序。问题是,只有具有管理员权限的用户才能在
C:\Program Files
中写入,如果您将 emacs 保存在那里并用通常的用户调用,则您可能无法在那里写入。解决方案:只需创建一个新文件夹,例如
C:\Programs\
并将 emacs 放在那里。这样您的用户将有权写入该文件夹。这更多的是一种解决方法,但对于某些应用程序来说,这种方式更容易。
Try using a personal folder for "special" Windows programs. The problem is that only users with administrator rights are able to write in
C:\Program Files
and if you saved emacs in there and invoked with your usual user chances are you cannot write in there.Solution: Just create a new folder like
C:\Programs\
and put emacs there. This way your user will have the rights to write into the folder.This is more of a workaround, but for some applications it is just easier this way.