Ich habe mehrere Quellblöcke, die alle in derselben Datei verwickelt sind. Wenn ich C-c '
innerhalb eines Blocks aufrufe , wird nur dieser bestimmte Block in einem neuen Puffer angezeigt.
Gibt es eine Möglichkeit, alle Teile dieser Datei in diesem Puffer anzuzeigen (anstelle nur dieses speziellen Snippets)?
Beispiel:
#+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
Wenn ich C-c '
im ersten Block treffe, bekomme ich:
(defvar *ok* "")
aber ich möchte:
(defvar *ok* "")
(defun add-one (n) (+ 1 n))
org-mode
org-babel
text-editing
Beyeran
quelle
quelle
org-babel-tangle-jump-to-org
org-babel-detangle
, die behaupten, dies zu tun, wenn Sie sich mit Linkkommentaren (:comments link
im Quellblock) verwickeln. Ich kann sie scheinbar nicht dazu bringen, richtig zu arbeiten.Antworten:
Was Sie suchen, ist eine Zwei-Wege-Bearbeitungsfunktion, die Änderungen während des Roundtrips überlebt und nicht nur eine Ein-Wege-Ausgabe, die für das Verwickeln und Entwirren von Befehlen üblich ist. Die beste Lösung fand ich ist Lentikular - Text , der als Paket verfügbar ist lentic auf Melpa.
quelle
Fügen Sie dieses Header-Argument hinzu
Gewirr. Sie können jetzt die verworrene Datei selbst bearbeiten und ausgeben
org-babel-detangle
, um alles wieder in die Organisationsdatei zu bringen.quelle
Ich kann org-tanglesync empfehlen , das eine viel einfachere Synchronisierungsmethode hat als
org-babel-detangle
Wenn ein Block in eine externe Datei verwickelt ist, wird jedes Mal, wenn dieser Block bearbeitet wird, auch die externe Datei überprüft. Wenn ein Unterschied festgestellt wird, wird der Benutzer aufgefordert, die externen Änderungen entweder abzulehnen oder in den org src-Block zu ziehen .
Dies hat auch Funktionen zum automatischen Verarbeiten aller verwickelten Blöcke in einem Puffer.
quelle