в режиме орг, как просматривать элементы TODO только для текущего буфера?

12

В режиме org я люблю запускать org-todo-list, который отображает глобальный список задач, включая все мои файлы повестки дня org. Как просмотреть список TODO только для текущего буфера, игнорируя другие мои файлы org-повестки дня?

incandescentman
источник

Ответы:

13

Вы можете использовать <из меню повестки дня, чтобы ограничить текущий вызов повестки дня буфером, из которого была вызвана повестка дня. Чтобы ограничить этот файл более чем одним вызовом, вы можете использовать C-c C-x <( org-agenda-set-restriction-lock). Смотрите (info "(org) Agenda files")для получения дополнительной информации.

Кайл Мейер
источник
10

Вы можете использовать, org-show-todo-treeчтобы получить разреженное древовидное представление элементов TODO текущего буфера. По C-c / tумолчанию это связано .

glucas
источник
7

Вы можете org-agenda-filesдинамически связываться с файлом текущего буфера и вызывать org-todo-listоттуда:

(defun org-todo-list-current-file (&optional arg)
  "Like `org-todo-list', but using only the current buffer's file."
  (interactive "P")
  (let ((org-agenda-files (list (buffer-file-name (current-buffer)))))
    (if (null (car org-agenda-files))
        (error "%s is not visiting a file" (buffer-name (current-buffer)))
      (org-todo-list arg))))
Дэн
источник