组织模式 - 如何使用org-capture创建新文件?
问题描述:
我想要创建一个组织捕获模板,创建一个动态文件名以在emacs组织模式下进行捕获。组织模式 - 如何使用org-capture创建新文件?
我想要的文件的名称采用以下形式: (格式时间字符串“%Y-%间%d”)“ - ”(提示名称)“.TXT”
举例:2012-08-10,MyNewFile.txt
基于this答案,我知道如何动态创建名称的文件,包括日期:
`(defun capture-report-date-file (path)
(expand-file-name (concat path (format-time-string "%Y-%m-%d") ".txt")))
'(("t" "todo" entry (file (capture-report-date-file "~/path/path/name"))
"* TODO")))
这让我创建文件2012-08-10.txt并在第一行插入* TODO
如何添加提示来完成文件名?
答
您必须在capture-report-data-file
中使用(read-string ...)
才能生成文件名。
(defun capture-report-data-file (path)
(let ((name (read-string "Name: ")))
(expand-file-name (format "%s-%s.txt"
(format-time-string "%Y-%m-%d")
name) path)))
'(("t"
"todo"
entry
(file (capture-report-date-file "~/path/path/name"))
"* TODO")))
这会提示上捕获文件名,然后打开捕获缓冲区将被创建。
非常感谢Jonathan。这是完美的。 – sam 2012-08-10 14:20:55