10

I've got multiple source blocks which are all tangled to the same file. When I invoke C-c ' inside one block, only this specific block is shown in a new buffer.

Is there a possibility to show all parts of this file inside this buffer (instead of just this specific snippet)?

Example:

#+begin_src emacs-lisp :tangle foo.el
(defvar *ok* "")
#+end_src

This is where the variable is stored...
#+begin_src emacs-lisp :tangle foo.el
(defun add-one (n) (+ 1 n))
#+end_src

If I hit C-c ' in the first block I get:

(defvar *ok* "")

but I want:

(defvar *ok* "")
(defun add-one (n) (+ 1 n))
  • 2
    There are functions org-babel-tangle-jump-to-org org-babel-detangle that claim to do this if you tangle with link comments (:comments link in the source block). I can't seem to get them to work right. – erikstokes May 23 '15 at 1:47
2

What you are looking for is a two-way editing feature that survives edits during the round-trip and not just one-way output common to tangle and detangle commands. The best solution I found is lenticular text that is available as the package lentic on MELPA.

2

Add this header argument

#+PROPERTY: header-args+ :comments link

Tangle. You can now edit the tangled file itself and issue org-babel-detangle to get everything back into the org file.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.