是否有一种简单的方法可以将组织模式下的代码块转储到文件中?以某种方式通过代码块附近的标记命名它们?也许是出口之类的东西?
答案 0 :(得分:1)
在源代码块中使用:tangle
关键字(请参见https://orgmode.org/manual/Extracting-Source-Code.html)
示例:
#+begin_src emacs-lisp :tangle "init.el"
(defmacro add-hook! (hook &rest body)
"Nicer add-hooking that prevents writing lambdas explicitly.
Add a lambda containing BODY to hook HOOK."
(declare (indent 1))
`(add-hook ,hook
(lambda () ,@body)))
#+end_src
完成M-x org-babel-tangle
之后,代码块将导出到“ init.el”
以上是我的init.org文件的一部分。在init.org的结尾,我有这个:
* COMMENT Local Variables for auto-tangle :ARCHIVE:
# Local Variables:
# eval: (add-hook 'after-save-hook (lambda ()(org-babel-tangle)) nil t)
# End:
init.el
这会在每次安全保存init.org后自动更新init.el。