Подтвердить что ты не робот

Режим Org: как планировать повторяющиеся задания в первую субботу каждого месяца?

Я использую org-mode для планирования задач.

Есть ли простой способ запланировать задачу, которая возникает в первую субботу каждого месяца?

4b9b3361

Ответ 1

Режим Org имеет отличную документацию, используйте ее. (info "(org) Deadlines and scheduling")

Вы можете использовать временные метки с повторителями в планировании и сроках записей. Режим Org выдаст ранние и поздние предупреждения на основе предположение, что временная метка представляет собой ближайший экземпляр повторитель. Однако использование записей дневного sexp, таких как `< %% (diary-float t 42) > 'в планировании и предельных временных ограничениях ограничено. Режим Org недостаточно знать о внутренних функциях каждой функции sexp для выпуска ранние и поздние предупреждения. Тем не менее, он будет показывать элемент в каждый день где соответствует позиция sexp.

* My Task
  <%%(diary-float t 6 1)>

Ответ 2

org-float теперь устарел (см. этот коммит). С этого момента вам придется использовать diary-float вместо org-float.

(Извините за шум: это не заслуживает полного ответа, но на данный момент мне не хватает "репутации" для комментариев.)

Ответ 3

Использование sexp в расписании и временной шкале времени ограничено, как сообщает информация

Режим Org не знает достаточно о внутренних функциях каждой функции sexp для выпуска ранние и поздние предупреждения.

Я пишу код elisp, чтобы автоматически изменить временную метку, с ней все, что вам нужно сделать, это установить свойство.

код elisp здесь

  • добавьте (load "/path/to/next-spec-day") в файл dot emacs.

  • установить NEXT-SPEC-DEADLINE и/или NEXT-SPEC-SCHEDULED свойство задачи TODO, например:

    * test
      :PROPERTIES:
      :NEXT-SPEC-SCHEDULED: (org-float t 6 1)
      :END:
    

    Значение NEXT-SPEC-SCHEDULED - sexp вернет non-nil, если date - первая суббота месяца

  • Затем, когда вы изменяете состояние TODO этих задач, временная метка будет автоматически изменена (включая время выполнения настроек предупреждений). Она становится:

    * TODO test
      SCHEDULED: <2013-01-05 Sat>
      :PROPERTIES:
      :NEXT-SPEC-SCHEDULED: (org-float t 6 1)
      :END: