如何org-babel-tangle只有一个代码块?
How to org-babel-tangle only one code block?
我在一个 .org 文件中生成多个文件,其中包含多个源代码块。例如:
#+begin_src rst :tangle file1.rst :noweb yes
<<file1>>
#+end_src
#+begin_src rst :tangle file2.rst :noweb yes
<<file2>>
#+end_src
有什么方法可以在不改变 header 选项的情况下只纠结一个特定的代码块吗?
我正在为 Sphinx 生成这些文件,为了减少编译时间,我只想整理当前正在处理的文件。
如果有这样的命令就好了 org-babel-tangle-current-block
- 有什么办法可以做到这一点吗?
(这是 Orgmode: how to filter the blocks to be tangle? 的相关问题)
这可以通过使用前缀参数调用 org-babel-tangle
来实现。
所以C-u C-c C-v t
应该做你想做的。
来自文档字符串:
With one universal prefix argument, only tangle the block at point.
When two universal prefix arguments, only tangle blocks for the tangle
file of the block at point.
以防万一有人对此绑定密钥感兴趣 - 我的初始文件包括以下内容:
(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
纠缠在一起。
为了扩展 joon 的有用答案,我想分享这个片段:
(defun org-babel-tangle-from-edit-special ()
(interactive)
(org-edit-src-exit)
(let ((current-prefix-arg '(4)))
(call-interactively 'org-babel-tangle))
(org-edit-special))
...可以与键绑定结合使用...
(add-hook 'org-src-mode-hook
(lambda ()
(local-set-key [f9] 'org-babel-tangle-from-edit-special)))
它允许您从 org-edit-special
模式中缠绕源块(因此,无论何时您点击 C-c '
)。这就是我在找到这个 post.
时真正要找的东西
我在一个 .org 文件中生成多个文件,其中包含多个源代码块。例如:
#+begin_src rst :tangle file1.rst :noweb yes
<<file1>>
#+end_src
#+begin_src rst :tangle file2.rst :noweb yes
<<file2>>
#+end_src
有什么方法可以在不改变 header 选项的情况下只纠结一个特定的代码块吗?
我正在为 Sphinx 生成这些文件,为了减少编译时间,我只想整理当前正在处理的文件。
如果有这样的命令就好了 org-babel-tangle-current-block
- 有什么办法可以做到这一点吗?
(这是 Orgmode: how to filter the blocks to be tangle? 的相关问题)
这可以通过使用前缀参数调用 org-babel-tangle
来实现。
所以C-u C-c C-v t
应该做你想做的。
来自文档字符串:
With one universal prefix argument, only tangle the block at point. When two universal prefix arguments, only tangle blocks for the tangle file of the block at point.
以防万一有人对此绑定密钥感兴趣 - 我的初始文件包括以下内容:
(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
纠缠在一起。
为了扩展 joon 的有用答案,我想分享这个片段:
(defun org-babel-tangle-from-edit-special ()
(interactive)
(org-edit-src-exit)
(let ((current-prefix-arg '(4)))
(call-interactively 'org-babel-tangle))
(org-edit-special))
...可以与键绑定结合使用...
(add-hook 'org-src-mode-hook
(lambda ()
(local-set-key [f9] 'org-babel-tangle-from-edit-special)))
它允许您从 org-edit-special
模式中缠绕源块(因此,无论何时您点击 C-c '
)。这就是我在找到这个 post.