Emacs Org-Mode: как найти все TODO, у которых нет указанного срока
В Emacs org-mode я знаю, что я могу вызвать представление "матч" (используя C-a m
), а затем использовать следующую строку поиска, чтобы найти все элементы TODO, у которых установлен крайний срок:
DEADLINE="<today>"
Тем не менее, я хочу найти все элементы в моем списке TODO, которые вообще не имеют установленного срока. Я искал, но не могу найти ответа; также не работает следующее:
DEADLINE=""
Как искать все TODO, для которых не указан DEADLINE?
(То же самое относится и к поиску элементов, которые не были запланированы, но я предполагаю, что решение будет таким же.)
Ответы
Ответ 1
Вы можете использовать
-DEADLINE = {.} +
и
-SCHEDULED = {.} +
который ищет элементы, у которых нет тега DEADLINE/SCHEDULED с любым содержимым в нем, то есть не установлены никакие запланированные или предельные даты. Количества используются для определения регулярного выражения (которое в этом случае соответствует чему-либо длиннее пустой строки).
Например, я использую следующее:
(setq org-agenda-custom-commands
`(;; match those tagged with :inbox:, are not scheduled, are not DONE.
("ii" "[i]nbox tagged unscheduled tasks" tags "+inbox-SCHEDULED={.+}/!+TODO|+STARTED|+WAITING")))
Ссылка: http://orgmode.org/manual/Matching-tags-and-properties.html
Ответ 2
Другим подходом было бы использовать org-agenda-skip-entry
. Где я пропускаю задачи, которые запланированы или с установленным сроком или меткой времени, а также те, которые содержат слово/тег "desparche".
("X" "Not scheduled"
( (todo "TODO"
(
(org-agenda-skip-function '(org-agenda-skip-entry-if 'scheduled 'deadline 'timestamp 'regexp "desparche" ))
)
)
)
)