Организация заметок с тегами в org-режиме

Итак, я широко использую org-mode для моих ежедневных требований к TODO. Мне интересно, могу ли я также эффективно использовать его для хранения заметок. В основном я хочу хранить заметки с тегами, а затем искать эти заметки по тегам. Например. Если у меня есть что-то подобное

* Heading 1
** Note 1 :tag1:tag2:
Note 1 details
** Note 2 :tag3:
Note 2 details
* Heading 2
** Note 3
** Note 4 :tag1:
Note 4 details

и затем я ищу tag1, у меня должно быть что-то вроде -

* Heading 1
** Note 1 :tag1:tag2:
Note 1 details
* Heading 2
** Note 4 :tag1:
Note 4 details

Я бы предпочел сделать это без добавления файлов в мою повестку дня. (У меня может быть несколько из них заметки, и я хотел бы только искать текущий файл за раз.)

есть ли простой (или не очень простой) способ выполнить этот org-mode?

2 ответов


следующая функция должна предоставить результат, который вы хотите.

(defun zin/org-tag-match-context (&optional todo-only match)
  "Identical search to `org-match-sparse-tree', but shows the content of the matches."
  (interactive "P")
  (org-prepare-agenda-buffers (list (current-buffer)))
  (org-overview) 
  (org-remove-occur-highlights) 
  (org-scan-tags '(progn (org-show-entry) 
                         (org-show-context)) 
                 (cdr (org-make-tags-matcher match)) todo-only))

Вы можете использовать поиск тегов (C-c / m tag1 <ret>). Документация здесь:

http://orgmode.org/manual/Tag-searches.html

это создаст разреженное дерево, показывающее только заголовки, содержащие :tag1:, но он не будет автоматически раскрывать содержимое этого заголовка, как в вашем примере.