org-babel-tangle只有一个代码块

joo*_*oon 4 org-mode org-babel

我在一个.org文件中生成多个文件,包含多个源代码块.例如:

#+begin_src rst :tangle file1.rst :noweb yes
<<file1>>
#+end_src

#+begin_src rst :tangle file2.rst :noweb yes
<<file2>>
#+end_src
Run Code Online (Sandbox Code Playgroud)

有没有办法只修改一个特定的代码块而不更改标题选项?

我正在为Sphinx生成这些文件,并减少编译时间,我只想纠缠我正在处理的文件.

如果有这样的命令会很好org-bable-tangle-current-block- 有什么方法可以做到这一点吗?

(这是Orgmode的一个相关问题:如何过滤要纠结的块?)

And*_*eas 7

这可以通过org-babel-tangle使用前缀参数调用来实现.

所以C-u C-c C-v t应该做你想要的.

从文档字符串:

使用一个通用前缀参数,仅在点处纠缠块.当两个通用前缀参数时,只在块处纠缠块的纠缠文件.


joo*_*oon 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)
))
Run Code Online (Sandbox Code Playgroud)

我可以用光标纠缠光标下的代码块C-c b.