Org 模式的一项重要功能是可为大纲树中的指定内容构建 稀疏树(sparse trees) , 使整个文档尽可能折叠,但选中内容及其上方的标题结构保持可见7。 实际操作一次即可直观理解其工作方式。
Org 模式提供多个创建稀疏树的命令,均可通过调度器调用:
org-sparse-tree) ¶提示输入额外按键,选择创建稀疏树的对应命令。
org-occur) ¶提示输入正则表达式(见 Regular Expressions)并显示包含所有匹配项的稀疏树。 若匹配项在标题中,则显示该标题;若在条目正文中,则显示标题与正文。 为提供基础上下文,匹配项上方的完整标题层级及匹配项后的标题也会显示。 每个匹配项会高亮显示;执行编辑操作修改缓冲区或按下 C-c C-c 后高亮消失8。 搭配 C-u 前缀执行时,会保留之前的高亮,可多次叠加执行该命令。
next-error) ¶跳转到当前缓冲区中下一个稀疏树匹配项。
previous-error) ¶跳转到当前缓冲区中上一个稀疏树匹配项。
对于常用的特定搜索字符串稀疏树,可通过变量 org-agenda-custom-commands
定义快捷键快速访问。这些命令可通过日程调度器调用(见 The Agenda Dispatcher)。
示例:
(setq org-agenda-custom-commands
'(("f" occur-tree "FIXME")))
该配置将按键 f 设为创建匹配 ‘FIXME’ 字符串稀疏树的快捷方式。
其他稀疏树命令可根据 TODO 关键字、标签或属性筛选标题,将在手册后续章节介绍。
打印稀疏树时,可使用 Emacs 命令 ps-print-buffer-with-faces ,
该命令不会打印文档中不可见部分。也可使用命令 C-c C-e C-v
仅导出文档可见部分并打印生成的文件。
另请参阅变量 org-fold-show-context-detail ,用于控制每个匹配项周围显示多少上下文。
该行为受选项 org-remove-highlights-with-change 控制。