我的recur.org文件中有一些TODO,如下所示:
** TODO Do this thing every day.
SCHEDULED: <2016-09-19 Mon .+1d>
对我而言。在+ 1d之前意味着“如果你碰巧在这个工作上做得很晚,那么当你把它标记为完成时,它将重新安排到标记完成后的第二天。”这是正确的,因为这个工作确实有这样的属性,如果我不做4天,那么我不需要做4次赶上,我只需要做一次。另一方面,如果我不做4天,那么我真的需要完成这项工作,我希望当我查看我的每周议程视图时,它会被标记为红色在emacs org-mode中使用C-c a a
。
不幸的是,这不会发生。标准议程视图将此任务列为
[stuff in red here with Sched. 4x etc etc]
recur: Scheduled: TODO [#A] Do this thing every day
并且条目为绿色,没有迹象表明我迟到了。这可能是因为它每天安排的事实特别意味着它今天安排,所以挂起它仍然安排在4天前的事实。
这不是我想要的行为。我希望能够制作一个重复的TODO,当完成后,将预定的时间重置为今天+ [间隔],但是如果我在超过间隔的时间段内没有完成任务,我仍然会收到警告。
实验表明,.+1w
之类的工作行为方式相同 - 他们已经过了6天,然后突然间他们不再过期了。
我能否以某种方式编写自定义议程命令,以确保这些作业在迟到时被标记?
10月3日添加:一些进一步的实验表明,点不是问题 - 这也是重复出现的TODO的默认行为,只是在更短的时间延迟后重新安排比起我没有做到的时间。
但是我现在稍微乐观一点,这可以通过自定义议程视图以某种方式解决。对于C-c a L
,我给出了一个视图,其中定期任务在计划和未完成的第一天显示,而不是在计划和未完成的最近一天。然而C-c a L
有三个原因是不好的:(1)它显示完成的任务(2)它显示优先级C任务迟到(我对这些任务不太感兴趣)和(3)它只起作用在当前缓冲区上。因此,如果我对议程观点有足够的了解,我觉得我可以回答自己的问题。
10月9日添加:现在阅读the relevant pages of the org manual我意识到我仍然不知道该怎么做。我很惊讶。我要求的是一个议程视图,其中包含我的所有组织文件,给我一个每周议程,如C-c a a
,并标记每个重复TODO
任务的第一个尚未完成的事件优先级A.从纯逻辑/编程的角度来看,我没有看到任何障碍,如果在org-mode中无法做到这一点,我会感到非常惊讶,但我当然找不到它。救命啊!