하나의 버퍼에서 여러 소스 블록 편집


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

당신이 찾고있는 것은 얽힘 및 얽힘 해제 명령에 공통적 인 단방향 출력이 아니라 왕복 중에 편집을 유지하는 양방향 편집 기능입니다. 내가 찾은 가장 좋은 방법은 렌즈 텍스트 패키지로 사용할 수 있습니다 lentic MELPA합니다.


2

이 헤더 인수 추가

#+PROPERTY: header-args+ :comments link

얽힘. 이제 얽힌 파일 자체를 편집하고 발행물 org-babel-detangle을 모두 org 파일로 되돌릴 수 있습니다.


2

org-tanglesync를 추천 할 수 있는데 , 동기화 방법이 훨씬 간단합니다.org-babel-detangle

본질적으로 블록이 외부 파일에 얽힌 경우 해당 블록을 편집 할 때마다 외부 파일도 검사되며 diff가 감지되면 외부 변경 사항을 거부하거나 org src 블록으로 가져 오라는 메시지가 표시됩니다. .

또한 버퍼의 모든 얽힌 블록을 자동으로 처리하는 기능이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.