强大的Org Capture
Capture让你快速的保存笔记,并且让你的工作流中很少被打断。
Capture的配置比较复杂,主要是Capture templates。
Capture templates1
配置Capture templates的基本形式是:
(setq org-capture-templates '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks") "* TODO %?\n %i\n %a") ("j" "Journal" entry (file+datetree "~/org/journal.org") "* %?\nEntered on %U\n %i\n %a")))
在Capture菜单中按下 t
时,Org会准备Todo模板:
Template elements2
关键字 | 对应内容 | 描述 |
---|---|---|
keys | "t" | 用来选择模板的key,一般1~2个字符 |
description | "Todo" | 模板的简短描述 |
type | entry | 模板的类型 |
target | (file+headline "~/org/gtd.org" "Tasks") | 模板的存储位置 |
template | "* TODO %?\n %i\n %a" | 模板的内容 |
properties | :prepend t | 模板的参数 |
模板的类型支持以下几种:
type | description |
---|---|
entry | 带有headline的Org mode节点 |
item | 列表项 |
checkitem | checkbox列表项 |
table-line | 表格行 |
plane | 普通文本 |
模板的存储位置:
type | description | example |
---|---|---|
file | 文件 | (file "/path/to/file") |
id | 特定ID | (id "id of existing org entry") |
file+headline | 文件中唯一的headline | (file+headline "filename" "node headline") |
file+olp | 非唯一headline,全路径 | (file+olp "filename" "Level 1 heading" "Level 2" …) |
file+regexp | 正则匹配的headline | (file+regexp "filename" "regexp to find location") |
file+olp+datetree | 文件中当日所在的headline | (file+olp+datetree "filename" [ "Level 1 heading" …]) |
file+function | 文件中寻找正确位置的函数 | (file+function "filename" function-finding-location) |
clock | 文件到当前正在计时的条目 | (clock) |
function | 自定义函数 | (function function-finding-location) |
Template expansion3
type | description |
---|---|
%[FILE] | 插入文件内容 |
%(EXP) | 插入Elisp表达式的结果 |
%<FORMAT> | 格式化时间 |
%t | 日期 |
%T | 日期和时间 |
%u, %U | 类似%t和%T,未激活的时间戳 |
%i | 插入当前buffer选中的内容 |
%a | 注释,通常是 org-store-link 创建的链接 |
%A | 类型%a,但是弹出描述部分 |
%l | 类似%a,但是只插入字面上的链接 |
%L | 类型%l,但是没有括号 |
%c | 当前kill ring的head |
%x | 剪切板中的内容 |
%k | 当前计时任务的标题 |
%K | 当前计时任务的链接 |
%n | user-full-name |
%f | 打开org-capture时当前的buffer |
%F | 当前buffer的全路径 |
%:keyword | 特殊链接 |
%^g |
弹出目标文件中tags |
%^G |
弹出所有agenda文件中的tags |
%^t |
类似%t,但是弹出日期, %^T,%^u,%^U 类似 |
%^C |
交互式选择kill ring或剪切板中的内容 |
%^L |
类似 %^C ,以链接的方式插入 |
%^{PROP}p |
弹出PROP属性的值 |
%^{PROMPT} |
弹出让用户输入 |
%\N | 插入第N个 %^{PROMPT} 中的标记 |
%? | 模板插入完成后定位的位置 |
特殊链接类型:
Link type | Available keywords |
---|---|
bbdb | %:name, %:company |
irc | %:server, %:port, %:nick |
mh, rmail | %:type, %:subject, %:message-id, %:from, %:fromname, %:fromaddress, %:to, %:toname, %:toaddress, %:date, %:date-timestamp, %:date-timestamp-inactive, %:fromto |
gnus | %:group |
w3, w3m | %:url |
info | %:file, %:node |
calendar | %:date |
org-protocol | %:link, %:description, %:annotation |