首页 > 解决方案 > Emacs org-capture 行开头的模板扩展

问题描述

Emacs 26.1 / 组织模式:9.1.9

我对 org-capture 在行开头扩展模板的方式有疑问:

这个模板

(setq org-capture-templates
 '(("o" "Todo" entry (file+headline "~/org/experimental.org" "Tasks")
        "* TODO %^{One}\nBeginning-of-line-Text\n<-- There should be no whitespace -->%^{Two}\n** %^{Three}\n- %^{Four}")))

扩展为:

* Tasks
** TODO One
 Beginning-of-line-Text
 <-- There should be no whitespace -->Two
*** Three
 - Four

关键问题是以空格/空格/缩进开头的行(第 3、4 和 6 行)。似乎 Cc Cc 仅在行首插入一个空格,因为它没有在“-->”和“Two”之间添加空格。此外 \n** 三按预期扩展(参见第 5 行:“*** 三”)我认为这不是错误,而是出于某种原因预期的行为。然而,我希望模板更“字面上”扩展,这意味着紧跟在 \n 之后的表达式应该始终从下一行的开头开始。非常感谢任何帮助。

标签: emacsorg-mode

解决方案


我找到了解决方案,尽管我必须承认,我仍然不明白,为什么我直接输入的 Org 大纲中从未出现此问题:

调用 custom-set-variableorg-adapt-indentation并且必须将其设置为 nil。换句话说,在我添加之后:

'(org-adapt-indentation nil)

在我的 .emacs 文件中,我终于摆脱了目标文件中的空白(实际上是缩进)。


推荐阅读