如果我有一个缠结到文件的代码片段,但是我希望文件名会随着时间变化,那么是否有比Query-replace更干净的方法来更改文件名?
例如,说我将代码纠缠到〜/ dir / my-file.el:
#+BEGIN_SRC emacs-lisp :tangle ~/dir/my-file.el
(setq myvar1 "value1")
#+END_SRC
#+BEGIN_SRC emacs-lisp :tangle ~/dir/my-file.el
(defun foo (bar) ... )
#+END_SRC
etc.
后来我意识到该文件最好放在另一个位置:
#+BEGIN_SRC emacs-lisp :tangle ~/dir/my/file.el
(setq myvar1 "value1")
#+END_SRC
#+BEGIN_SRC emacs-lisp :tangle ~/dir/my/file.el
(defun foo (bar) ... )
#+END_SRC
etc.
有没有办法将参数动态更改为:tangle。
我已经调查并发现,我可以将elisp输入到:tangle参数中。如果我评估(setq myfile "~/dir/file.el)
然后纠结以下内容:
#+BEGIN_SRC emacs-lisp :tangle (print myfile)
(setq myvar1 "value1")
#+END_SRC
#+BEGIN_SRC emacs-lisp :tangle (print myfile)
(defun foo (bar) ... )
#+END_SRC
我得到想要的结果。然后,我可以执行一个elisp片段以使用org-babel设置变量,但是我想知道是否有一种更干净的方法。
:tangle标头上的文档未规定本机方式。