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之下。

参考:

http://www.zmonster.me/2018/02/28/org-mode-capture.html

海上一民工

Related