我想使用org-mode跟踪习惯。例如,我想每周做3次运动。有没有办法每周安排3次任务而不管org-mode中的日期是什么?
答案 0 :(得分:24)
您应该能够或多或少地使用组织习惯跟踪来做到这一点(参见:Org-Habits)。
要加载组织习惯,您需要将其添加到org-modules
(add-to-list 'org-modules "org-habit")
然后:
C-c C-s
设置SCHEDULED
。C-c C-t
设置练习TODO
。C-c C-x p
获取STYLE
属性habit
(根据需要添加任何其他属性)。现在应该在标题后附加这样的行:
:PROPERTIES:
:STYLE: habit
:END:
一个习惯就足够了,每周不会精确到3次,但随着时间的推移它会达到平均水平。如果您使用.+2d/3d
的预定转发器,则会提示您不要经常每隔一天执行一次这种习惯,并且不会低于每3次。(如果您继续使用,则每周平均达到2.9次)足够长。超过6周(42天)你将完成它至少14次,最多21次,或平均17.5次.6周内18次将是每周3次。
你的最终习惯最初看起来应该是这样的,当你完成它时,将添加DONE日志记录,并将last-repeat作为属性跟踪:
** TODO Exercise
SCHEDULED: <2012-01-06 Fri .+2d/3d>
:PROPERTIES:
:STYLE: habit
:END:
注意:如果您在尝试加载org-habit模块时收到错误Symbol's value as variable is void: org-modules
,则可能需要尝试以下操作:
(require 'org)
(require 'org-install)
(add-to-list 'org-modules "org-habit")
答案 1 :(得分:0)
您可以使用带有转发器间隔的时间戳,如中所述 manual
A timestamp may contain a _repeater interval_, indicating that it applies not only on the given date, but again and again after a certain interval of N days (d), weeks (w), months (m), or years (y). The following will show up in the agenda every Wednesday: * Pick up Sam at school <2007-05-16 Wed 12:30 +1w>
答案 2 :(得分:0)
我看不到用一个条目做任何方法。我做类似事情的方法是为is创建一个特殊的TODO序列,比如说(sequence ('HABIT' '|' 'CHECK'))
setq org-todo-keywords
然后简单地写三个条目,每个条目重复一周
* HABIT Monday workout
DEADLINE: <2012-01-09 Mon +1w>
* HABIT Wednessday workout
DEADLINE: <2012-01-11 Wed +1w>
* HABIT Friday workout
DEADLINE: <2012-01-06 Fri +1w>
这不是那么干净,但它确实有效。