在Emacs的flyspell-mode中,如何添加新单词到字典中?

36
在Aquamacs的flyspell-mode下,当flyspell标记一个单词为拼写错误时,如果它实际上是正确拼写的,我可以右键单击添加该单词到我的字典中。
在OSX上的GNU Emacs中,当flyspell-mode突出显示一个它认为拼写错误的单词时,我如何将该单词添加到字典中?查看文档,我没有看到像"flyspell-learn-word"或"ispell-add-word-to-personal-dictionary"这样的函数。

4
函数 flyspell-correct-word-before-point 是否已定义?如果是,请在光标放置在错误单词上的情况下使用 (C-c $) 调用它,它会给出保存该单词的选项。 - user2053036
4
有没有一种方法可以不通过下拉菜单来完成这个操作? - incandescentman
有没有办法添加像“半心不愿”这样的复合词?只有“hearted”会出现红色波浪线,flyspell 试图将“hearted”添加到字典中。 - Ryo
2个回答

54
你要找的函数是flyspell-correct-word-before-point。默认情况下,它绑定到键C-c$。将光标移动到错误的单词上并执行该命令。您将获得一个弹出菜单,其中包含可能的更正选项以及将该单词保存到字典中的选项。
如果您想要一个单独的命令来保存当前单词,这就是我从flyspell.el中提取的内容。
(defun my-save-word ()
  (interactive)
  (let ((current-location (point))
         (word (flyspell-get-word)))
    (when (consp word)    
      (flyspell-do-correct 'save nil (car word) current-location (cadr word) (caddr word) current-location))))

6
新单词保存在哪里? - strongwillow
9
在aspell中,个人词典存储在/.aspell.LANG.pws中,而在ispell中,则存储在/.ispell_DICTNAME中。请参考https://emacs.stackexchange.com/questions/17237/in-emacs-where-is-ispells-personal-dictionary-stored。 - tlegutko

18

您可以使用 M-$ 打开建议,然后使用 i 将单词保存到字典中。您将被提示进行确认。

来源


那是三个步骤,而上面接受的解决方案只有一个步骤。 - incandescentman
1
(setq ispell-silently-savep t) 的翻译:将其设为t,以避免确认并仅保存。 - Mingwei Zhang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接