Modo Org Cc Cc para mostrar la imagen en línea

9

Para el siguiente código de modo de organización ejemplo:

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

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

Después de presionar Cc Cc, el resultado es el anterior. Si necesito mostrarlo como imagen, tengo que ejecutar el comando "Mx org-display-inline-image".

¿Es posible combinar "Cc Cc" y "Mx org-display-inline-image" juntos? Es mejor seguir usando el atajo "Cc Cc".

escarabajo
fuente
Si solo desea tener siempre la imagen en línea, puede colocarla #+STARTUP: inlineimagesen algún lugar de su archivo de organización. (Y C-c C-ceso para que no necesite volver a abrir su búfer)
Archenoth
1
@Archenoth En realidad, mi causa es: 1. Actualizar el código fuente. 2. Presione Cc Cc para ejecutar el código. 3. La salida es texto pero no imagen. Deseo que cada vez que presione Cc Cc, pueda ver la imagen en línea. Su sugerencia funciona si el usuario no cambió el código.
beetlej
¡Gracias por recordarme! Había olvidado que ya había hecho algo al respecto.
Archenoth

Respuestas:

5

¿Por qué no redefinir C-c C-cen modo Org entonces? Usa esta combinación de teclas. Póngalo en su archivo emacs init.el y reinicie emacs:

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

Anexo: ¿esto es global o local?

Solo local al modo org.

Usuario de Emacs
fuente
Suena como devolver un error: Argumento de tipo incorrecto: listp, t. Por cierto, ¿esto redefinirá globalmente o solo para el modo org?
beetlej
@beetlej intente ajustarlo de la siguiente manera: (define-key org-mode-map (kbd "Cc Cc") (lambda () (interactivo) (org-ctrl-c-ctrl-c) (org-display-inline-images )))
lucky1928
solo local, también corrigió el error tipográfico en la respuesta anterior
Usuario de Emacs
Para mí está trabajando con org-display-inline-images.
Bas Peeters
15

Hay un gancho para evaluar bloques de código ( org-babel-after-execute-hook) y una función para actualizar imágenes en línea. ( org-redisplay-inline-images)

¡Combina estos dos y estarás listo!

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

Cc Cc actualizando imágenes en línea

Archenoth
fuente
Genial, funciona también. Por cierto, ¿es org-babel-after-execute-hook para todos los comandos org o solo para este comando? ¡quizás solo deseo conectar el comando Cc Cc pero no otros!
beetlej
Este enlace solo afectará a los bloques de código en los buffers Org. En realidad, si quisieras hacer más que eso, necesitarías hacer un poco de trabajo extra.
Archenoth
2
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GUAU!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!! ¡GRACIAS!
Guilherme Salomé el