隐藏抽屉或属性中的组织待办事项状态更改

Lee*_*uns 2 emacs org-mode

如何设置我的组织树以将 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]
Run Code Online (Sandbox Code Playgroud)

希望这是这样的格式

** 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:
Run Code Online (Sandbox Code Playgroud)

我不在乎它是否在属性中,但我不希望这些状态更改以纯文本形式再次列出 300 次……这非常难看

Lee*_*uns 5

    \n
  • 总长DR
  • \n
\n
M-x customize-variable [RET] org-log-into-drawer\n
Run Code Online (Sandbox Code Playgroud)\n

将 org-log-into-drawer 的值设置为“LOGBOOK”

\n
    \n
  1. 背景\n在深入研究组织手册后,我找到了一个解决方案。手册中没有确切的示例,但通过阅读它,您可能会获得自行找出解决方案所需的理解。与往常一样,如果您有时间,请通读一遍,并确保总体上一切都有意义。这是最密切相关的页面的链接。
  2. \n
\n

https://orgmode.org/org.html#Tracking-TODO-state-changes

\n

https://orgmode.org/org.html#Drawers

\n

当使用组织模式时,我用于重复任务的追踪风格是习惯。在下面的示例中,我通过属性抽屉显式应用了它。

\n

当使用 org-habit 跟踪变量时,有 4 个选项用于存储日志记录。每次待办事项状态更改发生时,org-habit 都会将状态更改记录在“抽屉外”;这意味着当打开该项目时,所有状态更改都以纯文本形式显示。默认情况下是这样的设置。目前有 3 个选项可用。

\n

要查看这些选项,请转到“组织流程组”的自定义变量缓冲区,您将在其中找到“组织登录抽屉”以将待办事项状态更改写入“日志”,只需更改为“日志”\n摘要我们可以使用以下方法写出初始化文件以存储在日志中:

\n

方法1:使用init.el全局定义

\n
;; write todo state changes into LOGBOOK drawer\n(setq org-log-into-drawer \xe2\x80\x9cLOGBOOK\xe2\x80\x9d)\n
Run Code Online (Sandbox Code Playgroud)\n

方法2:针对特定树进行定义

\n
* TODO test\n  DEADLINE: <2020-09-22 Tue ++1w>\n  :PROPERTIES:\n  :STYLE: habit\n  :LOG_INTO_DRAWER: t\n  :LAST_REPEAT: [2020-09-08 Tue 10:41]\n  :END:\n  :LOGBOOK:\n  - State "DONE"       from "TODO"       [2020-09-08 Tue 10:41]\n  - State "DONE"       from "TODO"       [2020-09-08 Tue 10:40]\n  :END:\n
Run Code Online (Sandbox Code Playgroud)\n

方法三

\n

将其设置为其他贡献者提供的,状态更改和计时器日志都放置在抽屉内。

\n
;; inside init.el\n(setq org-log-done t)\n
Run Code Online (Sandbox Code Playgroud)\n