Bạn sẽ có thể sử dụng function
mẫu mục tiêu để làm điều này:
(defun my/org-file-by-date ()
"Create an Org file with current time as name."
(find-file (format-time-string "~/org/%Y-%m-%d--%H-%M-%S.org")))
(add-to-list 'org-capture-templates
'("x" "Template Name" plain
(function my/org-file-by-date)
"Capture template contents"))
Chỉnh sửa 2 : Hóa ra, mã được chuyển sang một file
biểu mẫu hoặc tương tự không được đánh giá cho đến khi bắt được thời gian, vì vậy có một cách nhỏ gọn hơn để làm điều này. Xem câu trả lời của Erik Sjöstrand để biết ví dụ.
Chỉnh sửa 1 : Để có được chức năng tương tự mà không cần thông qua giao diện chụp, bạn có thể sử dụng các chức năng tương tự như các chức năng này.
(defun my/org-file-by-date-with-inline-skeleton ()
"Create Org file from skeleton with current time as name."
(interactive)
(find-file (format-time-string "~/org/%Y-%m-%d--%H-%M-%S.org"))
(insert "Skeleton contents"))
(defun my/org-file-by-date-with-file-skeleton ()
"Create Org file from skeleton file with current time as name."
(interactive)
(let ((filename (format-time-string "~/org/%Y-%m-%d--%H-%M-%S.org")))
(copy-file "path/to/skeleton/file" filename)
(find-file filename)))