Как я могу лучше контролировать повторяющиеся задачи в Org?

12

Я начал изучать в org-modeпоследнее время, и мне это нравится. Но я хотел бы знать, как я могу лучше контролировать повторяющиеся задачи, например, если я поставил задачу повторять каждый день, как я могу исключить выходные?

Кроме того, есть ли такая опция, как режим выходного дня или что-то подобное, когда при включении запрашивается время, в течение которого я буду отсутствовать, а все мои повторяющиеся задачи (если у меня есть какие-либо, запланированные на время вылета) автоматически переносятся на следующий запланированный день после окончания праздника.

Чакраварти Рагхунандан
источник

Ответы:

2

Мое решение:

  1. Отметьте пункты «зима», «выходные», «школьные вечера» и т. Д.

  2. Убедитесь, что у каждого из этих тегов есть связанная клавиша быстрого доступа org-tag-alist.

  3. Написать предикат для каждого тега , который говорит вам , если это не ток: not-winter-p(возвращение не-ноль в период с апреля по ноябрь в северном полушарии), weekdayp, not-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

Вы можете использовать даты в дневнике. У меня есть событие, которое происходит каждую 1-ю, 3-ю и 5-ю пятницу месяца.

* 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