emacs - 无法在组织模式下正确禁用 Flyspell

标签 emacs org-mode flyspell

我设置 emacs 在文本模式下默认打开 Flyspell

(add-hook 'flyspell-mode-hook 'flyspell-buffer)
(add-hook 'text-mode-hook 'flyspell-mode)

我想在组织模式文件中自动禁用它,并且我确实设法在组织模式 Hook 中使用 lambda 函数禁用它:

(add-hook 'org-mode-hook (lambda () (flyspell-mode -1)))

这是可行的,但是 Flyspell 所做的语法突出显示更改仍然保留,并且干扰了 org 模式的语法突出显示。我还在迷你缓冲区中看到,当我访问该文件时,flyspell 确实运行,所以显然它只是在之后才关闭。如何以在组织模式文件中不留下任何痕迹的方式关闭它,或者更好的是根本不运行?

最佳答案

您可以通过检查主要模式来选择性地在文本模式 Hook 中启用 Flyspell。以下将在 text-mode 及其派生模式中启用 Flyspell,org-mode 除外

(add-hook 'flyspell-mode-hook 'flyspell-buffer)

(add-hook 'text-mode-hook (lambda ()
                                 (when (not (equal major-mode 'org-mode))
                                   (flyspell-mode t))))

关于emacs - 无法在组织模式下正确禁用 Flyspell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21279118/

相关文章:

browser - Emacs 和 eww,在新窗口中打开链接吗?

go - 使用 Flyspell-prog-mode 和 go-autocomplete

emacs - 如何限制 flyspell 给出的 "suggestions"的数量?

emacs - 在 hunspell 个人词典中使用德语 Umlaute 正确保存的单词未被 emacs ispell 或 flyspell 识别为正确拼写

r - 使用 R 的 org-babel 代码没有输出

html - Org html 导出无法识别 mathjax 的 DeclareMathOperator?

emacs - 如何在 Emacs 中为特定项目(Projectile)设置主题

python - 使用 Org–Babel 控制缩进

Python 代码完成

emacs - elpa + ESS + 自动完成仅部分有效