Редактирование нескольких исходных блоков в одном буфере


10

У меня есть несколько исходных блоков, которые все запутаны в одном файле. Когда я вызываю C-c 'внутри одного блока, только этот конкретный блок отображается в новом буфере.

Есть ли возможность показать все части этого файла внутри этого буфера (а не только этот конкретный фрагмент)?

Пример:

#+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

Если я попал C-c 'в первый блок, я получаю:

(defvar *ok* "")

но я хочу:

(defvar *ok* "")
(defun add-one (n) (+ 1 n))

2
Есть функции, org-babel-tangle-jump-to-org org-babel-detangleкоторые утверждают, что делают это, если вы запутываетесь с комментариями ссылки ( :comments linkв блоке источника). Я не могу заставить их работать правильно.
erikstokes

Ответы:


2

То, что вы ищете, - это функция двустороннего редактирования, которая сохраняет изменения при двустороннем цикле, а не только односторонний вывод, общий для команд запутывания и распутывания. Лучшее решение , которое я нашел, линзовидный текст , который доступен в виде пакета стоячего на MELPA.


2

Добавьте этот аргумент заголовка

#+PROPERTY: header-args+ :comments link

Клубок. Теперь вы можете отредактировать запутанный файл и выполнить org-babel-detangleкоманду, чтобы вернуть все обратно в файл org.


2

Я могу порекомендовать org-tanglesync , который имеет гораздо более простой метод синхронизации, чемorg-babel-detangle

По сути, если блок запутан во внешнем файле, то каждый раз, когда этот блок редактируется, внешний файл также проверяется, и, если обнаруживается разница, пользователю предлагается отклонить или передать внешние изменения в блок org src. ,

Это также имеет функции для автоматической обработки всех запутанных блоков в буфере.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.