Utilizo org-babel para generar algunos informes que no se pueden procesar automáticamente, y dado que org es un buen formato de esquema, imprimo los resultados en org para representarlos como árboles.
Me di cuenta de que anidar el marcado de organización en el #+begin_example
bloque hace que emacs sea realmente lento (y el formato de los resultados también está desactivado).
Sería genial que Babel coloque la salida de ciertos bloques de código en un búfer separado (y también abra una ventana), de la misma manera que maneja los errores.
He revisado la documentación pero parece que no hay tal opción.
¿Me equivoco? Si no lo soy, ¿tal vez alguien tiene ese fragmento?
Además, la lentitud podría deberse a otras opciones en mi configuración, ¿cómo está anidada su experiencia con el texto con formato de organización example
? Tal vez estoy ladrando debajo del árbol equivocado aquí.
Gracias
#+begin_example
funcionan bienorg-mode
siempre está evolucionando yorg-babel-insert-result
ya es bastante larga, y será aún más larga con esta modificación. Paso # 1 : Decide sobre un nuevo RESULT-PARAMS como la palabraseparate
. El bloque de código fuente puede contener algo como el:results output separate
Paso # 2 : Convierta laif/then
declaración que contiene la condición(and result-params (member "silent" result-params))
en tres condiciones con la nueva(and result-params (member "separate" result-params))
y establezca un nuevo buf.Respuestas:
Sorprendente que
org
no ofrece:output buffer
opción. Quizás esto esté en proceso para futurasorg
versiones.Aquí hay una forma de simular esa funcionalidad: tome la salida de un bloque fuente y
stream
en unnew buffer
:Debido a
mycontent
que el bloque fuente alimenta el contenidomystream
, solo tendrá que ejecutar elmystream
bloque src. Es decir,C-c C-c
enmystream
bloque.Si está
C-c C-c
en elmycontent
bloque src, los resultados se insertarán en el mismo búfer.Aunque
mycontent
se muestra como un bloque src emacs-lisp, este puede ser cualquier bloque src org válido. Es posible que deba ajustar las:results
opciones según el idioma.El
:results none
para elmystream
bloque src es contrario a la intuición, pero la magia que le da su contenido en un nuevo buffer.fuente
Desde que acepté la respuesta con la que he estado viviendo con esa configuración "tengo el fragmento de elisp para cada informe que quiero" por un tiempo.
Pero luego se me ocurrió el siguiente truco:
No es una forma de outpupt org-babel se abre en una memoria intermedia separada con
C-o
-org-open-at-point
es de lujo por el estilo. El problema es que se crea el bloque de resultados. Pero también hay un comandoorg-babel-remove-result
. Combinando los dos, hice un pequeño truco sucioLos bloques de código que uso así tienen propiedades
:results output :format raw :exports results
Mi archivo con consejos y procedimientos ya no está abarrotado de grandes resultados y el búfer se reutiliza (lo que se adapta a mi flujo de trabajo).
fuente
(add-hook 'org-babel-after-execute-hook 'my-bable-to-buffer)))
.