2.5 Sparse Trees

Org 模式的一项重要功能是可为大纲树中的指定内容构建 稀疏树(sparse trees) , 使整个文档尽可能折叠,但选中内容及其上方的标题结构保持可见7。 实际操作一次即可直观理解其工作方式。

Org 模式提供多个创建稀疏树的命令,均可通过调度器调用:

C-c / (org-sparse-tree)

提示输入额外按键,选择创建稀疏树的对应命令。

C-c / rC-c / / (org-occur)

提示输入正则表达式(见 Regular Expressions)并显示包含所有匹配项的稀疏树。 若匹配项在标题中,则显示该标题;若在条目正文中,则显示标题与正文。 为提供基础上下文,匹配项上方的完整标题层级及匹配项后的标题也会显示。 每个匹配项会高亮显示;执行编辑操作修改缓冲区或按下 C-c C-c 后高亮消失8。 搭配 C-u 前缀执行时,会保留之前的高亮,可多次叠加执行该命令。

M-g nM-g M-n (next-error)

跳转到当前缓冲区中下一个稀疏树匹配项。

M-g pM-g M-p (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 仅导出文档可见部分并打印生成的文件。


Footnotes

(7)

另请参阅变量 org-fold-show-context-detail ,用于控制每个匹配项周围显示多少上下文。

(8)

该行为受选项 org-remove-highlights-with-change 控制。