如何在org-mode独立归档文件中按属性搜索已归档条目
Org模式独立归档文件属性搜索解决方案
根因说明
Org默认的agenda文件扫描规则只会识别后缀为.org的文件,就算你把存放归档文件的目录加入org-agenda-files,.org_archive后缀的文件也不会被纳入扫描范围,这是你无法搜索到归档文件内容的核心原因。
方案1:全局适配归档文件后缀
修改org-agenda-file-regexp配置,让Org的agenda扫描同时识别普通org文件和归档文件:
;; 同时匹配 *.org 和 *.org_archive 文件 (setq org-agenda-file-regexp "\\.org\\(_archive\\)?\\'")
该方案适合所有org文件的归档内容都需要纳入agenda搜索的场景,配置后保持(setq org-agenda-files '("~/org"))即可自动扫描目录下的所有普通org和归档文件。
方案2:单独添加指定归档文件到agenda列表
如果你不需要全局扫描所有归档文件,只想让指定的归档文件被纳入搜索,可以直接把归档文件的完整路径加入org-agenda-files:
(setq org-agenda-files '("~/org/agenda.org" "~/org/agenda.org_archive"))
该方案更可控,不会误扫其他你不需要纳入搜索的归档文件。
生效验证
配置修改完成后,执行M-x org-agenda-refresh刷新agenda文件列表,再开启org-agenda-archives-mode,即可通过org-tags-view的属性搜索规则(如ARCHIVE_TIME>"<+2w>")正常搜索到归档文件内的条目。
如果配置后仍无法搜索,可先检查归档文件内的属性块语法是否正确,确保:PROPERTIES:和:END:标签配对、属性名没有拼写错误。
内容的提问来源于stack exchange,提问作者theherk
相关产品推荐
相关产品推荐

