Org Mode Capture
源起
看了《单核工作法》中关于种草、拔草的说明,想到了应该用更模式化的方法管理inbox。
初步设想
设想在inbox中应该有如下的任务添加模板:
;** Inbox
;*** TODO 第一个添加的任务
- 来源:张三
- 添加时间:[2018-04-19 周四 10:36]
- 要求完成时间:[2018-04-20 周五 10:36]
很早就知道capture的功能,但一直觉得手工添加也可以,没有必要折腾,所以也一直没有深入。
操作
1. 设置热键
为了今后快速地capture一定是要设置一个热键的,当然每次 M-x org-capture
也是可以的。
在 .emacs
配置中加入: (global-set-key (kbd "<f6>") 'org-capture)
。 这样每次按“F6”时,即启动了org-capture。
2. 设置 org-capture-template
可以用菜单中的 Options
中的 Specific Options
INS
插入一个之后
- Keys: 定义的热键,可以为不同的模板设置不同的热键,可以设置多级菜单,如in,先输入i,再进入一个模板组,输入n确定模板。
- Description:对这个Capture模板的说明。
- Capture Type: 选Org entry,默认也是这个。也可以根据实际需要选择。
- Target Location: 选File & Headline,然后在下面的选择中选择capture后保存到的文件,可以使用相对或绝对路径,注意应使用
"\"
符号。 在Headline中输入保存到这个org 文件的哪个Headline下,如Inbox。
-
模板
在设置完上述内容后,需要设置模板,如果是需要完成设想的的设置,具体内容如下:
;* TODO %? %^{Task} \n - 来源: %^{谁安排的} \n - 添加时间: %U \n - 要求完成时间:%^T
其中的
\n
表示换行,其实在保存一次后,设置界面,包括.emacs的文件中会把\n
换成换行。换成一个更友好的显示:;* TODO %? %^{Task} - 来源: %^{谁安排的} - 添加时间: %U - 要求完成时间:%^T
各个符号的含义:
- %?:表示完成输入后,鼠标停留位置。
- %提示的菜单:表示会在mini buffer中提示要求录入文本,录入的内容在mini buffer中输入。
- %U:默认插入系统当前时间,包括时分,非激活时间
- %^T:要求录入时间,含时分。
更多关于符号的含义,可以查看手册。
使用
在完成上述设置后应可以使用了。
在emacs界面按事先设定的热键后,会跳出另一个窗口,在窗口中按照设定的提示输入信息。输入完成后,有三个选择
- C-c C-c 完成
- C-c C-w refile
- C-c C-k 放弃
完成和放弃都比较好理解,需要注意的是完成的话,文件并没有保存。完成的话,可以把输入的内容插入到之前设定的headline下。
refile的话,可以选择插入到之前设定之外的headline之下。