问题描述
如何设置组织树以将Todo状态更改存储到抽屉中。日志抽屉工作正常。问题是,当我每天重复输入时,它都会记录下来。在任务下制作一棵大树。任何人都知道如何将其存储在:PROPERTIES:或另一个这样的抽屉中,以便我仍然拥有此数据,但是不会自动看到它?
** Todo Weekly Review/InBox Review (Planning)
DEADLINE: <2020-09-21 Mon ++1w>
:PROPERTIES:
:LAST_REPEAT: [2020-09-08 Tue 09:22]
:Effort: 0:30
:END:
- State "DONE" from "Todo" [2020-09-08 Tue 09:22]
- State "DONE" from "Todo" [2020-09-02 Wed 09:02]
我希望这样的格式
** Todo Weekly Review/InBox Review (Planning)
DEADLINE: <2020-09-21 Mon ++1w>
:PROPERTIES:
:LAST_REPEAT: [2020-09-08 Tue 09:22]
:LOGTodoCHANGEDRAWER:
- State "DONE" from "Todo" [2020-09-08 Tue 09:22]
- State "DONE" from "Todo" [2020-09-02 Wed 09:02]
:Effort: 0:30
:END:
我不在乎它是否在属性中,但我不希望这些状态更改以纯文本形式再次列出300次...这非常难看
解决方法
- TLDR
M-x customize-variable [RET] org-log-into-drawer
将org-log-into-drawer的值设置为“ LOGBOOK”
- 背景 在深入研究组织手册之后,我提出了一个解决方案。手册中没有确切的示例,但是通过阅读该示例,您可能会获得所需的知识,以自己找到解决方案。和往常一样,如果有时间,请仔细阅读并确保所有内容都具有一般意义。这是最密切相关的页面链接。
https://orgmode.org/org.html#Tracking-TODO-state-changes
https://orgmode.org/org.html#Drawers
在使用组织模式时,我习惯于重复任务的定位风格是习惯。在下面的示例中,我已通过属性抽屉将其显式应用。
使用组织习惯跟踪变量时,有4个用于存储日志的选项。每次待办事项状态更改发生时,org-habit都会在“抽屉外部”记录状态更改。这意味着打开该项目时,所有状态更改均以纯文本显示。默认情况下,这是设置。当前有3个选项。
要查看这些选项,请转到“组织过程组”的自定义变量缓冲区,在该缓冲区中,您将找到“组织登录到抽屉”以获取待办事项状态更改以写入“日志”,只需更改为“日志”即可” 总之,我们可以使用以下命令写出初始化文件以存储在日志中:
方法1:使用init.el进行全局定义
;;将待办事项状态更改写入LOGBOOK抽屉 (setq org-log-into-drawer LOGBOOK)
## METHOD 2: define for a specific tree
* TODO test
DEADLINE: <2020-09-22 Tue ++1w>
:PROPERTIES:
:STYLE: habit
:LOG_INTO_DRAWER: t
:LAST_REPEAT: [2020-09-08 Tue 10:41]
:END:
:LOGBOOK:
- State "DONE" from "TODO" [2020-09-08 Tue 10:41]
- State "DONE" from "TODO" [2020-09-08 Tue 10:40]
:END:
,
通常我也会推荐手册,但这实际上是我在手册之外找到的一个例子。我找到了答案:
(setq org-log-done t)
here。
有趣的是,t 甚至不是此变量的自定义选项中的选项之一,但它不仅可以将时间日志放入 :LOGBOOK: 抽屉,还可以将状态更改放入。通常我会去阅读源代码,看看为什么会这样,但我现在不会被打扰 - 它可以工作。在自己更改此设置之前,我使用了“时间”的自定义选项之一,仅在 :LOGBOOK: 中放置时钟(而不是状态更改),但我更喜欢使用此设置来整理内容。