Org-Modus Cc Cc zur Anzeige des Inline-Bildes

9

Für das folgende Codebeispiel im Organisationsmodus:

#+BEGIN_SRC plantuml :file test.png
Alice -> Bob: synchronous call
Alice ->> Bob: asynchronous call
#+END_SRC

#+RESULTS:
[[file:test.png]]

Nach dem Drücken von Cc Cc ist das Ergebnis wie oben. Wenn ich es als Bild anzeigen muss, muss ich den Befehl "Mx org-display-inline-image" ausführen.

Ist es möglich, "Cc Cc" und "Mx org-display-inline-image" miteinander zu kombinieren? Es ist besser, weiterhin die Verknüpfung "Cc Cc" zu verwenden.

beetlej
quelle
Wenn Sie nur das Bild immer inline haben möchten, können Sie es #+STARTUP: inlineimagesirgendwo in Ihre Organisationsdatei einfügen . (Und das C-c C-c, damit Sie Ihren Puffer nicht erneut öffnen müssen)
Archenoth
1
@Archenoth Eigentlich ist meine Ursache: 1. Quellcode aktualisieren. 2. Drücken Sie Cc Cc, um den Code auszuführen. 3. Die Ausgabe ist Text, aber kein Bild. Ich wünsche mir jedes Mal, nachdem ich Cc Cc gedrückt habe, dass das Bild inline angezeigt wird. Ihr Vorschlag funktioniert, wenn der Benutzer den Code nicht geändert hat.
Beetlej
Danke, dass du mich erinnerst! Ich hatte vergessen, dass ich bereits etwas dagegen unternommen hatte.
Archenoth

Antworten:

5

Warum dann nicht C-c C-cim Org-Modus neu definieren ? Verwenden Sie diese Tastenkombination. Fügen Sie es in Ihre emacs init.el-Datei ein und starten Sie emacs neu:

(define-key org-mode-map (kbd "C-c C-c")
  (lambda () (interactive) (org-ctrl-c-ctrl-c)
                           (org-display-inline-image)))

Nachtrag: Ist das global oder lokal?

Nur lokal im Organisationsmodus.

Emacs Benutzer
quelle
Klingt nach einem Fehler: Falsches Argument: listp, t. Übrigens, wird dies global oder nur für den Organisationsmodus neu definiert?
Beetlej
@beetlej versuchen Sie es wie folgt zu optimieren: (Definiere-Schlüssel-Org-Modus-Map (kbd "Cc Cc") (Lambda () (interaktiv) (Org-Strg-C-Strg-C) (Org-Display-Inline-Bilder )))
Glück1928
Nur lokal, auch der Tippfehler in der obigen Antwort wurde behoben
Emacs User
Für mich funktioniert es mit org-display-inline-images.
Bas Peeters
15

Es gibt sowohl einen Hook zum Auswerten von Codeblöcken ( org-babel-after-execute-hook) als auch eine Funktion zum Aktualisieren von Inline-Bildern. ( org-redisplay-inline-images)

Kombinieren Sie diese beiden und Sie sollten bereit sein zu gehen!

(add-hook 'org-babel-after-execute-hook 'org-redisplay-inline-images)

Cc Cc Aktualisieren von Inline-Bildern

Archenoth
quelle
Großartig, es funktioniert auch. Übrigens, ist org-babel-after-execute-hook für alle org-Befehle oder nur für diesen Befehl? Vielleicht möchte ich nur den Befehl Cc Cc einbinden, andere aber nicht!
Beetlej
Dieser Hook wirkt sich nur auf Codeblöcke in Org-Puffern aus. Wenn Sie mehr als das tun möchten, müssen Sie ein bisschen zusätzliche Arbeit leisten.
Archenoth
2
BEEINDRUCKEND!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!! VIELEN DANK!
Guilherme Salomé