首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在组织模式下正确禁用flyspell

无法在组织模式下正确禁用flyspell
EN

Stack Overflow用户
提问于 2014-01-22 17:36:52
回答 2查看 865关注 0票数 3

我将emacs设置为在默认情况下打开文本模式的flyspell,使用

代码语言:javascript
复制
(add-hook 'flyspell-mode-hook 'flyspell-buffer)
(add-hook 'text-mode-hook 'flyspell-mode)

我想在org模式文件中自动禁用它,并且我确实设法使用org模式钩子中的lambda函数禁用了它:

代码语言:javascript
复制
(add-hook 'org-mode-hook (lambda () (flyspell-mode -1)))

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

EN

回答 2

Stack Overflow用户

发布于 2014-01-22 18:06:59

你可以通过勾选主要模式来有选择地在文本模式钩子中启用flyspell。以下代码将在除org-mode之外的text-mode及其派生模式中启用flyspell

代码语言:javascript
复制
(add-hook 'flyspell-mode-hook 'flyspell-buffer)

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

Stack Overflow用户

发布于 2014-01-22 17:48:33

对于第一个问题(去掉突出显示的部分),下面的调用应该这样做:

代码语言:javascript
复制
(flyspell-delete-all-overlays)

但是,你真的、真的、真的确定要在组织模式下禁用flyspell吗?这是不是有一个非常,非常,非常好的原因?

如果是,你不应该解决这个问题,而不是尝试上面的方法吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21279118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档