将属性应用于所有1级标题

时间:2018-01-20 13:46:23

标签: org-mode

我有一个task.org文件,如下所示:

* Monday, January 8 [3/3]
  :PROPERTIES:
  :COOKIE_DATA: recursive
  :END:
** DONE Have 111th birthday party.
*** DONE Clean dishes.
*** DONE Use ring during speech.
* Tuesday, January 9 [0/2]
  :PROPERTIES:
  :COOKIE_DATA: recursive
  :END:
** NEXT Leave ring for Frodo.
*** TODO Resist the Ring's power.
* Wednesday, January 10 [0/1]
** TODO Leave Bag-End.
*** DONE Pack for journey.

编写

非常繁琐
  :PROPERTIES:
  :COOKIE_DATA: recursive
  :END:

每次我想创建新的一天,当我折叠列表时只需要查看1级标题(日期),我需要递归计数。

我可以在我的Org文件中放入某种代码段,以便所有1级标题都会自动添加此属性吗?

1 个答案:

答案 0 :(得分:0)

我认为不可能定义一个自动为任何组织级别1标题工作的片段。我写了一个可能有效的函数

(defun org-heading-w-properties ()
  (interactive)
  (org-insert-heading-after-current)
  (insert (read-string "Heading: "))
  (insert ("\n:PROPERTIES:\n:COOKIE_DATA: recursive\n:END:")
 )

因此,如果您的光标位于1月10日的标题上并且您调用此函数,则会创建一个新的顶级标题,提示您输入标题标题,然后为您插入属性抽屉。警告:我无法弄清楚如何强制新插入的标题为1级。它将是光标所处的任何级别的标题,所以如果你使用pack for journey上的光标运行,你会得到一个新的3级标题。