10.1.3 Capture templates

你可以为不同类型的捕获内容、不同目标位置使用模板。创建此类模板最简单的方式是通过自定义界面。

C

自定义变量 org-capture-templates

在正式说明模板定义之前,先看一个示例。假设你想用一个模板创建通用待办事项,并将这些事项放在文件 ‘~/org/gtd.org’ 的 ‘Tasks’ 标题下。同时,文件 ‘journal.org’ 中的日期树用于捕获日记条目。可行的配置如下:

(setq org-capture-templates
      '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks")
         "* TODO %?\n  %i\n  %a")
        ("j" "Journal" entry (file+olp+datetree "~/org/journal.org")
         "* %?\nEntered on %U\n  %i\n  %a")))

之后在捕获菜单中按下 t,Org 会为你生成如下模板:

* TODO
  [[file:LINK TO WHERE YOU INITIATED CAPTURE]]

在模板展开过程中, ‘%a’ 会被替换为指向调用捕获命令位置的链接。例如从邮件中提取任务时,这一功能非常实用。填写任务内容后按下 C-c C-c,Org 会回到你开始捕获的位置。

如需定义专用快捷键直接捕获到特定模板,而无需通过交互式模板选择,可按如下方式设置按键绑定:

(define-key global-map (kbd "C-c x")
  (lambda () (interactive) (org-capture nil "x")))