2012-10-15 174 views
2

有沒有辦法保存Babel代碼塊的執行歷史? 基本上我想記錄塊,時間戳和文件名。保存塊的執行歷史

也許如果它不在那裏,有人知道類似的功能,我可以破解? 基本上我需要一種方法來獲取當前選擇,時間戳和文件名,以及將其附加到文本文件的方式。

+1

會[捕獲機制](http://orgmode.org/manual/Capture.html)做這項工作嗎?每次運行一個塊時,您都需要按幾個鍵(可以變成一個,'f8'或其他東西),但是您應該能夠設置捕獲所有您想要的模板。 –

回答

2

在這裏你可以做什麼:

  • 建議功能org-babel-execute-src-block
  • 投放結果到緩衝區中,在我的例子

你也可以寫結果「通天日誌」到日誌文件中。

(require 'time-stamp) 

(defadvice org-babel-execute-src-block (after log-org-babel-execute-src-block activate) 
    (org-narrow-to-block) 
    (let ((file (buffer-file-name)) (src-block (buffer-substring-no-properties (point-min) (point-max)))) 
    (with-current-buffer "babel-log" 
     (insert (concat "file:" file " time:" (time-stamp-string) " block\n" src-block "\n\n"))) 
    ) 
    (widen) 
)