如何避免在组织模式下记录中间流程状态



在组织模式中,任务可以有几个进程状态中的一个(例如TODODONE…)。进程状态列表是可配置的,用户可以直接设置任务状态,也可以使用S-Left和S-Right组合键循环所有状态。

然而,我发现与直觉相反的是状态变化跟踪与S-Left和S-Right键的使用之间的交互。更具体地说,当使用这些键时,在确定他们需要的状态之前,可能会经过几个状态,尤其是当他们键入得太快并跳过所需状态时。不幸的是,组织模式会很高兴地记录这些状态的每一个,尽管它们发生在几秒钟内,并且无法与实际的现实任务相对应。

有没有一种方法可以让组织模式过滤生成的日志条目,这样就不会无意中记录这些中间状态的更改?例如,当合并状态在不到X秒内发生变化时,该设置会发生变化吗?

要选择TODO状态并绕过与之相关的任何日志记录,请使用:

(setq org-treat-S-cursor-todo-selection-as-state-change nil)

在您的Emacs配置文件中。

使用前缀参数调用org todo,使用C-u后跟数字。这样就避免了额外的窗口。

从M-x描述功能RET组织到RET:

使用C-u前缀arg,使用完成来确定新状态。具有数字前缀arg,切换到该状态。使用双C-u前缀,切换到下一组TODO关键字(nextset)。带有三个C-u前缀,规避任何状态阻塞。在数字前缀arg为0的情况下,禁止为更改做笔记。

因此,使用您链接的手册中的示例,假设您定义了以下工作流状态:

(setq org-todo-keywords
      '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED")))

你在一个组织文件中有以下内容:

* TODO Go Grocery Shopping

您可以通过键入C-u 4 C-C C-t立即从TODO转到DONE。结果应该看起来像:

* DONE Go Grocery Shopping
  :LOGBOOK:
  - State "DONE"    from     "TODO"    [2014-10-30 Thu 09:20]
  :END:

假设您在init.el/.emacs文件中有以下内容(我强烈推荐):

(setq org-log-into-drawer t)

请记住,如果您定义了多个工作流状态(例如一个用于任务,一个用于事件等),则前缀号按关键字的顺序排列。组织模式无法区分不同的工作流序列。

最新更新