我在一个.org文件中生成多个文件,包含多个源代码块。例如:
#+begin_src rst :tangle file1.rst :noweb yes
<<file1>>
#+end_src
#+begin_src rst :tangle file2.rst :noweb yes
<<file2>>
#+end_src
有没有办法只修改一个特定的代码块而不更改标题选项?
我正在为Sphinx生成这些文件,并减少编译时间,我只想纠缠我正在处理的文件。
如果有org-bable-tangle-current-block
这样的命令会很棒 - 有没有办法做到这一点?
答案 0 :(得分:7)
可以通过使用前缀参数调用org-babel-tangle
来实现。
所以C-u C-c C-v t
应该做你想做的事。
来自docstring:
使用一个通用前缀参数,仅在点处纠缠块。 当两个通用前缀参数时,只纠缠纠缠块 点的文件。
答案 1 :(得分:5)
如果有人有兴趣将密钥绑定到此 - 我的init文件包含以下内容:
(defun org-babel-tangle-block()
(interactive)
(let ((current-prefix-arg '(4)))
(call-interactively 'org-babel-tangle)
))
(eval-after-load "org"
'(progn
(define-key org-mode-map (kbd "C-c b") 'org-babel-tangle-block)
))
我可以用C-c b
纠正光标下的代码块。