2012-08-10 60 views
6

emacs org-modeでキャプチャのための動的ファイル名を作成するorg-captureテンプレートを作成したいと思います。組織モード - org-captureで新しいファイルを作成するにはどうすればいいですか?

私は、ファイルの名前は次の形式を取ることとします (フォーマット時文字列「%Y-%M-%D」)「 - 」(名前の入力を求める)「.TXT」

例:2012年8月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を挿入する

ファイル名を入力するためのプロンプトをどのように追加できますか?

答えて

9

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"))) 

これは、ファイル名のキャプチャを求めるメッセージが表示され、キャプチャバッファが作成されます。

+0

ありがとう、ジョナサン。それは完璧だ。 – sam

関連する問題