我有一个org文件,其中包含许多babel源代码块,只有在更改代码时才需要重新执行。
我该如何防止org在导出期间执行所有块?换句话说,将它们全部设置为手动执行?
我希望有一个单一的全局选项,而不是必须逐个编辑每个块。
org-export-babel-evaluate
,如果设置为nil
,将阻止任何代码在导出过程中进行评估。这样,只有通过手动执行插入的结果才会被导出。# -*- org-export-babel-evaluate: nil -*-
:exports none
或:exports results
的代码块将出现在导出中。这让我感到措手不及。:eval no-export
,然后在重新运行源代码时删除该行。#+PROPERTY: HEADER-ARGS+ :eval no-export
(add-to-list 'org-babel-default-header-args '(:eval . "never-export"))
- donaldhcache
设置为yes(请参见http://orgmode.org/manual/cache.html)。这也可以在文件中设置属性行以全局操作。
#+Property: header-args :cache yes
只需确保在该行上按C-c C-c
以激活属性。#+PROPERTY: header-args :cache yes
。 - brittAnderson#+BIND: org-export-use-babel nil
使用 C-c C-c 应用程序可以正常工作。
我在这里找到了答案:http://joelmccracken.github.io/entries/org-mode-specifying-document-variables-and-keywords/
我正在使用 Emacs 26,可能有一些变化。
org-export-use-babel
的文档中说:“希望在导出时避免评估代码的用户应该使用头部参数': eval never-export'。” - Ynjxsjmh
(add-to-list 'org-babel-default-header-args '(:eval . "never-export"))
。详细信息请参见其他答案。 - ed9w2in6