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

发布于 2024-12-08 07:50:56 字数 615 浏览 0 评论 0原文

因此,按照 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苏辞 2024-12-15 07:50:56

我认为问题可能是,虽然您已经告诉 ispell 您的个人词典存储在哪里,但您没有向 hunspell 提供此信息。

手册页

-p 字典

设置个人词典的路径。默认值为 $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 不会为我创建此文件,但它会更新现有的空文件。

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:

-p dict

Set path of personal dictionary. Default is $HOME/.hunspell_default. Setting -d or the DICTIONARY environmental variable, personal dictionary will be $HOME/.hunspell_dicname

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 customizing ispell-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.

惯饮孤独 2024-12-15 07:50:56

尝试使用个人文件夹来存放“特殊”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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文