2012-08-10 10 views
6

Emacs org modunda yakalamak için dinamik bir dosya adı oluşturan bir org-capture şablonu oluşturmak istiyorum.Org-Mode - Org-yakalama ile yeni bir dosyayı nasıl oluştururum?

ben dosyanın adı aşağıdaki formu alır istiyorum: (biçim-zaman-dize "% Y-% m-% d") "-" (bir isim için istemi) ".txt"

Örnek: 2012/08/10-MyNewFile.txt

this cevap dayanarak, dinamik tarihini içerecek şekilde Adını dosyasının nasıl oluşturulacağı biliyorum:

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

Bu beni oluşturmanıza olanak sağlar 2012-08-10.txt dosyasını ekleyin ve ilk satırdaki * TODO'yu ekleyin

Dosya adını tamamlamak için nasıl bir komut istemi ekleyebilirim?

cevap

9

capture-report-data-file içinde (read-string ...) kullanmanız gerekecek.

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

Bu, dosya adı için yakalama sorulur ve ardından açma arabelleği oluşturulur.

+0

Çok teşekkür ederim Jonathan. Mükemmel. – sam

İlgili konular