如何在Text模式下使用orgstruct模式?

4

Org包括Orgstruct mode,它为其他次要模式添加了类似于Org的功能。在文档中,他们建议您可能希望在邮件或文本模式下使用此功能。我想这样做!我将他们的消息代码改编为适用于mu4e,但无法使其适用于text-mode

他们建议使用以下代码:

(add-hook 'message-mode-hook 'turn-on-orgstruct)

我尝试了以下版本:
(add-hook 'text-mode-hook 'turn-on-orgstruct)
(add-hook 'text-mode-hook 'orgstruct-mode)

下面是使用lambda的版本。

然而,所有这些方法都会阻止Emacs作为守护进程启动。如果我正常地运行Emacs(不作为守护进程),它会工作,但会弹出错误:

font-lock-default-unfontify-buffer:Lisp嵌套超过了“max-lisp-eval-depth”

我想这与text-mode与其他主要模式之间的关系有关。我能安全地在text-mode中使用orgstruct-mode吗?如何做到?


你应该给我们错误信息,这样可能会帮助我们理解发生了什么。顺便问一下,为什么不在文本模式下使用turn-on-orgstruct? - Rémi
我添加了错误提示 - FYI,该错误来自于在文本模式下尝试使用turn-on-orgstruct。 - mwfogleman
1个回答

0

这是一个无限回归的问题:文本模式运行钩子,打开orgstruct模式,调用org-get-local-variables,然后调用org-mode。但是org-mode是outline-mode的派生模式,而outline-mode是text-mode的派生模式,因此递归调用了text-mode-hook:崩溃。

为了解决这个问题,我将auto-mode-alist中的文本模式条目切换到完整的org-mode。我只在消息中自动使用orgstruct++-mode和orgtbl-mode。有时我会在latex中手动打开orgtbl-mode,但这很少见:大多数情况下,我从org导出到latex。


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