У меня есть несколько исходных блоков, которые все запутаны в одном файле. Когда я вызываю 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))
org-mode
org-babel
text-editing
beyeran
источник
источник
org-babel-tangle-jump-to-org
org-babel-detangle
которые утверждают, что делают это, если вы запутываетесь с комментариями ссылки (:comments link
в блоке источника). Я не могу заставить их работать правильно.Ответы:
То, что вы ищете, - это функция двустороннего редактирования, которая сохраняет изменения при двустороннем цикле, а не только односторонний вывод, общий для команд запутывания и распутывания. Лучшее решение , которое я нашел, линзовидный текст , который доступен в виде пакета стоячего на MELPA.
источник
Добавьте этот аргумент заголовка
Клубок. Теперь вы можете отредактировать запутанный файл и выполнить
org-babel-detangle
команду, чтобы вернуть все обратно в файл org.источник
Я могу порекомендовать org-tanglesync , который имеет гораздо более простой метод синхронизации, чем
org-babel-detangle
По сути, если блок запутан во внешнем файле, то каждый раз, когда этот блок редактируется, внешний файл также проверяется, и, если обнаруживается разница, пользователю предлагается отклонить или передать внешние изменения в блок org src. ,
Это также имеет функции для автоматической обработки всех запутанных блоков в буфере.
источник