2012-10-15 177 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) 
)