Manchmal, insbesondere beim Notieren, kann eine literate org-Datei einzeilige Quellblöcke wie folgt enthalten:
* Taking notes
:PROPERTIES:
:tangle: whatever.pl
:comments: org
:END:
Perl set command
#+BEGIN_SRC perl
set $random_var=1;
#+END_SRC
Perl unset command (just making it up... :P)
#+BEGIN_SRC perl
unset $random_var;
#+END_SRC
Für solche Anwendungen #+BEGIN_SRC...#+END_SRC
scheint das Pragma ein Overkill zu sein. Einfache Vorlagen reduzieren die Eingabe, aber das Organisationsdokument sieht immer noch etwas überfüllt aus.
Gibt es eine einfache Möglichkeit, dies zu tun? Ich weiß, dass eine Zeile, die mit a beginnt, :
automatisch zu wörtlichem Text gelangt. Gibt es eine Möglichkeit, mit org-tangle etwas Ähnliches zu tun?
Ich suche nach einer Lösung wie dieser oder zumindest in der Nähe dieser Linien, während die Möglichkeiten zum Hervorheben und Verwickeln der Quelle für den übergeordneten Modus beibehalten werden:
* Taking notes
:PROPERTIES:
:tangle: whatever.pl
:comments: org
:mode: perl
:END:
Perl set command
: set $random_var=1;
Perl unset command (just making it up... :P)
: unset $random_var;
Es ist sauberer, leicht anzusehen und meiner Meinung nach etwas leiser.
Anregungen wäre dankbar. Danke im Voraus!
...
stattdessen, oder Sie können eine beliebige Abkürzung verwenden, um versteckten Text anzuzeigen (z. B. ein Smiley☺
), oder Sie können überhaupt keinen Indikator für die versteckten Linien haben(save-excursion (goto-char (point-max)) (while (re-search-backward "#\\+BEGIN_SRC\\|#\\+END_SRC" nil t) (let ((ov (make-overlay (line-beginning-position) (1+ (line-end-position))))) (overlay-put ov 'invisible t))))
Wenn Sie mit Ihrem Test fertig sind, bewerten Sie(remove-overlays)
. Dies ist nur ein einfaches Beispiel für das Ausblenden von Text. Sie können Platzhalter für den versteckten Text erstellen, der aussieht...
oder was auch immer Sie wollen - zhidden text lies here
. Bewerten Sie Code mitM-x eval-expression
(defun clean-org-buffer() (save-excursion (goto-char (point-max)) (while (re-search-backward "#\\+BEGIN_SRC\\|#\\+END_SRC" nil t) (let ((ov (make-overlay (line-beginning-position) (1+ (line-end-position))))) (overlay-put ov 'invisible t)))))
Die Auswertung dieser Funktion führt jedoch zu folgenden Fehlern :Wrong type argument: commandp, clean-org-buffer
. Können Sie bitte vorschlagen, wie Sie dabei helfen können?M-x eval-expression RET (clean-org-buffer) RET
(ohne Änderungen am Snippet) und / oder(interactive)
kurz vor dem Snippet in meinem vorherigen Kommentar (2 Absätze oben) hinzufügen , damit es interaktiv verwendet werden kannM-x clean-org-buffer
.Antworten:
Aus (org) Struktur von Codeblöcken :
Sie sollten also in der Lage sein,
src_perl{set $random_var=1;}
anstelle des vollständigen Blocks zu verwenden.quelle