11.6.1 Storing searches

自定义搜索的第一种用途是为常用搜索设置快捷键,既可生成日程缓冲区,也可生成稀疏树(后者仅作用于当前缓冲区)。

自定义命令通过变量 org-agenda-custom-commands 配置。你可以通过自定义界面修改该变量,例如在日程调度器中按 C(见 The Agenda Dispatcher)。也可以在 Emacs 初始化文件中直接用 Emacs Lisp 设置。下面的示例包含所有合法的日程视图:

(setq org-agenda-custom-commands
      '(("x" agenda)
        ("y" agenda*)
        ("w" todo "WAITING")
        ("W" todo-tree "WAITING")
        ("u" tags "+boss-urgent")
        ("v" tags-todo "+boss-urgent")
        ("U" tags-tree "+boss-urgent")
        ("f" occur-tree "\\<FIXME\\>")
        ("h" . "HOME+Name tags searches") ;description for "h" prefix
        ("hl" tags "+home+Lisa")
        ("hp" tags "+home+Peter")
        ("hk" tags "+home+Kim")))

每条配置开头的字符串为调度器触发该命令所需按下的按键。通常为单个字符,若命令较多,也可定义双字母组合,首字母相同作为前缀键103。第二个参数为搜索类型,其后为匹配用的字符串或正则表达式。上述示例定义了:

x

全局搜索本周/本日计划的日程条目104

y

搜索范围同上,但仅包含带具体时间(如 ‘[h]h:mm’ )的条目,可视为约会类事项。

w

全局搜索 TODO 关键字为 ‘WAITING’ 的条目。

W

搜索范围同上,但仅作用于当前缓冲区并以稀疏树展示结果。

u

全局标签搜索,匹配带有 ‘boss’ 标签但不含 ‘urgent’ 标签的标题。

v

搜索条件同上,但仅限定为 TODO 类型条目。

U

搜索条件同上,但仅作用于当前缓冲区并以稀疏树展示结果。

f

在当前缓冲区生成稀疏树,列出所有包含 ‘FIXME’ 单词的条目。

h

作为 ‘HOME’ 标签搜索的前缀命令,需再按一个键(lpk)选择人名(Lisa、Peter 或 Kim)作为附加匹配标签。

注意 *-tree 类日程视图必须从 Org 缓冲区调用,因其仅作用于当前缓冲区。


Footnotes

(103)

可通过包含前缀与描述的 cons 单元为前缀键添加说明。

(104)

此处 “已规划(planned)” 指条目附带规划信息,如时间戳、计划日期或截止日期。如何设置纳入统计的规划信息,参见 org-agenda-entry-types