如何在Org中更好地控制重复任务?


12

org-mode最近开始探索,我喜欢它。但是,我想知道如何对重复的任务有更多的控制,例如,如果我将任务设置为每天重复一次,该如何排除周末?

此外,是否有诸如假期模式之类的选项或类似选项,当它打开时会询问我要离开的持续时间,并且我所有的重复任务(如果我在起飞时安排了任何任务)都将自动重新安排为假期结束后的下一个预定日期。

Answers:


2

我的解决方案:

  1. 标记项目“冬季”,“周末”,“上学之夜”等。

  2. 确保每个标签在中都有一个关联的快速键org-tag-alist

  3. 写,告诉你每个标签的断言,如果它是不是电流not-winter-p(在北半球返回四月至十一月间非空)weekdaypnot-schoolnight-p等等。

  4. 将它们放到自己的议程命令中:

(啊哈!发现我必须在此处输入非编号列表文本,以使以下代码以正确的格式显示)

(defun ph/agenda ()
  "Display my agenda."
  (interactive)
  (org-agenda-list)
  (cl-loop
    for (predicate . speed-key)
    in
    '((weekendp . ?\[)
      (winterp . ?\])
      (not-schoolday-p . ?\{)
      (not-schoolnight-p . ?\}))
    when (funcall predicate)
    do (org-agenda-filter-by-tag nil speed-key 'exclude)))

0

您可以使用日记日期。我每个月的第一个,第三个和第五个星期五都会发生一个事件。

* Music Jam
   <%%(diary-float t 5 1)>
   <%%(diary-float t 5 3)> 
   <%%(diary-float t 5 5)>

还有其他日记功能。日记浮动,日记提醒,日记循环等。您可以通过以下方式详细了解

      M-x info RET org RET m Agenda  

搜索日记,您将找到它。(CS日记)


认为这是不可能的。您需要遍历所有议程文件,在其中遍历所有标题,如果有计划信息,请重新计划项目。同样,将所有时间重新安排到同一天可能会导致一天的工作繁忙,因此您可能还想解决这一问题。
GergelyPolonkai '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.