【问题标题】:Emacs org-capture Template expansion at line beginningsEmacs org-capture 行开头的模板扩展
【发布时间】:2018-08-11 13:13:07
【问题描述】:

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

【问题讨论】:

    标签: emacs org-mode


    【解决方案1】:

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

    自定义设置变量名为org-adapt-indentation,必须设置为零。也就是说,在我添加之后:

    '(org-adapt-indentation nil)
    

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

    【讨论】:

      【解决方案2】:

      解决方法很简单:

      在您的文件 org/experimental.org 中,您可以添加一行:

      #+STARTUP: indent
      

      转到该行并按 C-c C-c。

      问题是您不仅将笔记放在文件中,而且还放在该文件的标题下。 因此,您的笔记以两颗星开头:** 然后标准的组织缩进在前面添加这个空格。

      有帮助吗?

      【讨论】:

      • 好吧,不,它没有。恰恰相反,它实际上在行的开头添加了更多的空白。然而,你说得对,问题与缩进有关。看看我下面的答案,看看如何摆脱压痕。无论如何,感谢您的想法,真诚地感谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-23
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多