Org-mode 重复 TODO 跳过

4

我希望能够使用重复条目,但同时也能够跳过特定日期。例如:

** 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个回答

2

函数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 知道的假日或者只想跳过特定的节日,可以输入像 "元旦" 这样的字符串。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接