Emacs 组织模式,周一至周五重复任务,但周末不重复?

问题描述 投票:0回答:5

我每天都有任务(例如 bugzilla 分类),但我只在周一到周五执行这些任务。周末不行。

当我使用这样的东西时:

SCHEDULED: <2015-02-07 Sat ++1d>

它每天都会重复,包括周末。我可以改变这个吗?

emacs scheduling org-mode todo
5个回答
33
投票

如果您只需要提醒,而不需要在组织文件中将其标记为“完成”,则可以在这些情况下使用日历集成。

** Triage Bugzilla Entries 09:00-10:00
   <%%(memq (calendar-day-of-week date) '(1 2 3 4 5))>

这只会在工作日的每日议程中插入一个条目,而不是任务。


13
投票

一种方法是简单地为每个工作日制定一个 TODO,例如:

* TODO My task  
  SCHEDULED: <2015-02-09 Mon ++1w>

* TODO My task  
  SCHEDULED: <2015-02-10 Tue ++1w>

这与另一个答案不同:

* TODO My task
  SCHEDULED: <2015-02-09 Mon ++1w>
  SCHEDULED: <2015-02-10 Tue ++1w>
  SCHEDULED: <2015-02-11 Wed ++1w>
  SCHEDULED: <2015-02-12 Thu ++1w>
  SCHEDULED: <2015-02-13 Fri ++1w>

有人指出有问题:

这有一个问题。当我关闭一项任务时,它会将所有计划的项目提前一周,而不仅仅是到期的项目:-/

出现此问题的原因是所有时间戳都与一个 TODO 关联。


11
投票

不幸的是,组织模式似乎不支持简单命令,但您可以通过为同一项目设置每周多次重复来复制此内容,如下所示:

* TODO My task
  SCHEDULED: <2015-02-09 Mon ++1w>
  SCHEDULED: <2015-02-10 Tue ++1w>
  SCHEDULED: <2015-02-11 Wed ++1w>
  SCHEDULED: <2015-02-12 Thu ++1w>
  SCHEDULED: <2015-02-13 Fri ++1w>

1
投票

有 Habit Plus 包,位于 https://github.com/myshevchuk/org-habit-plus,它增强了组织模式下的习惯功能。

请参阅手册中的组织模式习惯:https://orgmode.org/manual/Tracking-your-habits.html

来自 Habits Plus github 页面的 Readme.org:

安装

就像将 org-habit-plus.el 放入加载路径一样简单 将 org-habit-plus 添加到 org-modules 列表中。

如何运作

就像指定工作日一样简单(1 = 星期一,7 = 星期日,空格 分开),预计将在该习惯上执行,在 :HABIT_WEEKDAYS:属性。

因此,首先您需要在 Org 中启用习惯模块,并将您的任务设置为习惯,并指定其重复频率。有关详细信息,请参阅上面的组织手册链接。

然后您将安装Habits Plus。请参阅 org-habit-plus.el 文件的 github 页面。

然后,您可以将 :HABIT_WEEKDAYS: 属性添加到您的习惯中,并为该属性指定值

1 2 3 4 5
,以指示它应该在周一到周五完成。


0
投票

我有同样的需求,并且能够通过编写自己的代码来解决它。你可以在这里找到它:

https://gist.github.com/jsntn/542443e8505d62cac635eacd8bce458a

注意:确保 TODO 任务具有

workday
标签集,如下所示:

* Task          :workday:
SCHEDULED: <2024-08-02 Fri .+1d>
© www.soinside.com 2019 - 2024. All rights reserved.