Org 可以跟踪一类特殊待办事项 “习惯(habits)” 的执行连贯性。
要使用习惯功能,需通过自定义变量 org-modules 启用 habit 模块。
一个习惯事项具备以下属性:
为让你直观了解上述规则的实际效果, 以下是一个带有历史记录的真实习惯示例:
** TODO Shave SCHEDULED: <2009-10-17 Sat .+2d/4d> :PROPERTIES: :STYLE: habit :LAST_REPEAT: [2009-10-19 Mon 00:36] :END: - State "DONE" from "TODO" [2009-10-15 Thu] - State "DONE" from "TODO" [2009-10-12 Mon] - State "DONE" from "TODO" [2009-10-10 Sat] - State "DONE" from "TODO" [2009-10-04 Sun] - State "DONE" from "TODO" [2009-10-02 Fri] - State "DONE" from "TODO" [2009-09-29 Tue] - State "DONE" from "TODO" [2009-09-25 Fri] - State "DONE" from "TODO" [2009-09-19 Sat] - State "DONE" from "TODO" [2009-09-16 Wed] - State "DONE" from "TODO" [2009-09-12 Sat]
该习惯表示:希望至多每两天刮一次胡子—由计划日 ‘SCHEDULED’ 期和重复间隔指定—且至少每四天一次。 如果今天是15号,该习惯会在最短间隔2天过后的10月17日出现在议程中(参见 Agenda Views), 并在4天过后的10月19日显示为逾期。
习惯功能的真正实用之处在于,它会附带连贯性图表一同显示, 展示你过去完成该任务的稳定程度。 图表会显示过去三周内完成任务的每一天,并用不同颜色标记每一天:
当天无需执行该任务。
当天可以执行该任务。
次日任务即将逾期。
当天任务已逾期。
除颜色标记外,若当天实际完成了任务,会用星号标注; 感叹号则标识图表中当天的位置。
有多个配置变量可用于修改习惯在议程中的显示方式。
org-habit-graph-column ¶绘制连贯性图表的缓冲区列数。 该设置会覆盖该列的所有文本,因此建议保持习惯标题简洁。
org-habit-preceding-days ¶连贯性图表中显示的历史天数(今天之前)。
org-habit-following-days ¶连贯性图表中显示的未来天数(今天之后)。
org-habit-show-habits-only-for-today ¶若非 nil ,仅在今日议程视图中显示习惯。默认值为 t 。
在议程中按下 C-u K 可切换该变量。
最后,在议程框架中按下 K 可临时禁用习惯,使其完全不显示; 再次按下 K 恢复显示。 习惯同样支持标签过滤,例如你有仅在特定场景下执行的习惯时。