组织模式重复TODO跳过

时间:2013-12-12 06:39:33

标签: org-mode

我希望能够通常使用重复的条目,但也有能力跳过特定的日子。例如:

** TODO swim practice
   SCHEDULED <2013-12-18 17:30-18:30 +1w>

但是,我事先知道2013-12-25不会有练习。但是,当我标记完成的项目时,它将重新安排在2013-12-25。我喜欢像以下财产一样简单的东西:

** TODO swim practice
   SCHEDULED <2013-12-18 17:30-18:30 +1w>
   :PROPERTIES:
   :EXCEPTION_SCHEDULED: <2013-12-25>
   :EXCEPTION_SCHEDULED: <2014-01-01>
   :END:

但是,我没有看到任何简单的方法来实现这一点(除了sexp的......这是痛苦和丑陋的)。我看着编写自己的钩子,但状态改变的钩子在状态改变之后调用,但是在重复新的日期之前。我考虑在更新后捕获它并查看它是否与异常匹配,然后再次调用重新调度路由。

我缺少什么?

1 个答案:

答案 0 :(得分:1)

函数org-class可能会有所帮助。它允许您设置每周事件的计划,跳过某些周或假期。此TODO参赛作品将安排2013-12-18和2014-12-31之间每周三的课程,第1周和第52周除外:

** TODO swim practice
   SCHEDULED: <%%(org-class 2013 12 18 2014 12 31 1 3 1 52) 17:30-18:30>

您也可以

** TODO swim practice
   SCHEDULED: <%%(org-class 2013 12 18 2014 12 31 1 3 'holidays) 17:30-18:30>

跳过任何一天,Emacs知道要度假或给“新年元旦”这样的字符串只跳过特定的假期。