9.2.1 Moving a tree to an archive file

最常用的归档操作是将项目结构树移动到另一个文件, 该文件即为归档文件。

C-c C-x C-s or short C-c $ (org-archive-subtree)

将光标所在的结构树归档到 org-archive-location 指定的位置。

C-u C-c C-x C-s

检查当前标题的所有直接子项是否可归档。系统会遍历每个子树, 查看是否存在未完成的 TODO 条目,若无则提示将其移入归档位置。 若执行命令时光标 落在标题上,则会检查所有一级结构树。

C-u C-u C-c C-x C-s

操作同上,但会检查结构树中的时间戳而非 TODO 条目。 如果该结构树确实包含时间戳且时间已过期,命令会提示将其归档。

默认归档位置为当前文件同级目录下,文件名在原名称后追加 ‘_archive’ 的文件。 你也可以指定归档内容所属的标题,甚至将其归入文件内的日期树结构。 关于文件与标题的配置方式及示例,详见变量 org-archive-location 的说明文档。

同时也支持在缓冲区内部配置该变量,示例如下:

#+ARCHIVE: %s_done::

若需要为单个条目或结构树指定专属归档位置, 可为其设置 ‘ARCHIVE’ 属性并填入目标路径(参见 Properties and Columns)。

结构树被归档时,会自动添加若干特殊属性,用于记录来源文件、 大纲路径、归档时间等上下文信息。可通过配置 org-archive-save-context-info 调整记录的信息内容。

org-archive-subtree-save-file-p 不为 nil 时, 会自动保存目标归档缓冲区的修改。