我希望使用org-mode来追踪习惯,例如,我希望每周运动3次。在org-mode中是否有一种方法可以安排每周执行3次任务而不考虑日期?
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
,您将被提示执行该习惯,但不会超过每两天一次,也不会少于每三天一次。(如果您长期坚持,这将平均每周完成2.9次。在6周(42天)内,您至少会完成14次,最多21次,平均完成17.5次。而在6周内完成18次,则是每周3次)。** 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")
(add-to-list 'org-modules 'org-habit)
- Josh.F您可以按照手册中的描述,使用带有重复间隔的时间戳。
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>
我看不到用一个条目完成这个任务的方法。我通常做类似的事情是为其创建一个特殊的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>
虽然不太简洁,但是它能用。