Еженедельные повторяющиеся задания emacs org-mode - PullRequest
15 голосов
/ 06 января 2012

Я хочу отслеживать привычки, используя режим орг. Например, я хочу делать упражнения 3 раза в неделю. Есть ли способ запланировать 3 раза задание каждую неделю независимо от даты в режиме org?

Ответы [ 3 ]

24 голосов
/ 06 января 2012

Вы должны быть в состоянии более или менее сделать это, используя отслеживание привычек орг (См .: Привычки Орг ).

Чтобы загрузить привычки орг, вам нужно добавить его в org-modules

(add-to-list 'org-modules "org-habit")

Тогда:

  1. Используйте C-c C-s для установки SCHEDULED.
  2. Используйте C-c C-t, чтобы настроить упражнение TODO.
  3. Используйте C-c C-x p, чтобы получить STYLE Свойство habit (также добавьте любые другие свойства по желанию).

Теперь такие строки должны быть добавлены после заголовка:

:PROPERTIES:
:STYLE: habit
:END:

Одной привычки должно хватить, ее не будет ровно 3 раза в неделю, но со временем она усреднится до такой. Если вы используете ретранслятор по расписанию .+2d/3d, вам будет предложено выполнять привычку не чаще, чем каждый второй день, и не реже, чем каждые 3. (Это в среднем составляет 2,9 раза в неделю, если вы продолжите его достаточно долго В течение 6 недель (42 дней) вы выполняете это как минимум 14 раз, максимум 21, или 17,5 в среднем. 18 раз за 6 недель будет 3 раза в неделю).

Сначала ваша окончательная привычка должна выглядеть примерно так, как только вы ее завершите, будет добавлено ведение журнала DONE, а последнее повторение будет отслеживаться как свойство:

** TODO Exercise
SCHEDULED: <2012-01-06 Fri .+2d/3d>
:PROPERTIES:
:STYLE: habit
:END:

Примечание: Если вы получаете сообщение об ошибке Symbol's value as variable is void: org-modules при попытке загрузить модуль org-привычки, вы можете вместо этого попробовать следующее:

(require 'org)
(require 'org-install)
(add-to-list 'org-modules "org-habit")
0 голосов
/ 06 января 2012

Я не вижу способа сделать это с одной записью.Я делаю аналогичные вещи, создавая специальную последовательность TODO, скажем, (sequence ('HABIT' '|' 'CHECK')) с setq org-todo-keywords

Затем просто пишите три записи, каждая на неделю, повторяя

* HABIT Monday workout
  DEADLINE: <2012-01-09 Mon +1w>
* HABIT Wednessday workout
  DEADLINE: <2012-01-11 Wed +1w>
* HABIT Friday workout
  DEADLINE: <2012-01-06 Fri +1w>

Это не так чисто, но это работает.

0 голосов
/ 06 января 2012

Вы можете использовать временную метку с интервалом повторителя, как описано в руководство .

 A timestamp may contain a _repeater interval_, indicating that it
 applies not only on the given date, but again and again after a
 certain interval of N days (d), weeks (w), months (m), or years
 (y).  The following will show up in the agenda every Wednesday:

      * Pick up Sam at school <2007-05-16 Wed 12:30 +1w>
...