org-capture 默认会打开一个交互式的 buffer 输入模板内容,如果想跳过交互只根据参数生成内容,可以:
- 在模板中使用默认内容,不需要交互输入:
("t" "Task" entry
(file+headline "~/org/gtd.org" "Tasks")
"* TODO ${title}\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n")
用 ${title} 等变量设置默认内容。 2. 在调用 org-capture 时传入参数:
(org-capture nil "t" '(title "买菜" ))
- 设置 org-capture-templates 的 :immediate-finish t 这样调用时就会自动填充内容并保存到目标文件,不需要手动输入和确认。
- 也可以在函数中程序调用 org-capture:
(defun my/add-task (title)
(org-capture nil "t" `(title ,title))
(org-capture-finalize))
(my/add-task “hhh”) 运行报错:Wrong number of arguments: (0 . 2), 3