J'utilise org-babel pour générer des rapports qui ne peuvent pas être traités automatiquement, et comme org est un bon format hiérarchique, j'imprime les résultats dans org pour les représenter sous forme d'arbres.
J'ai remarqué que l'imbrication du balisage org dans le #+begin_example
bloc rend emacs très lent (et le formatage des résultats est également désactivé).
Ce serait vraiment cool d'avoir babel placer la sortie de certains blocs de code dans un tampon séparé (et ouvrir une fenêtre pour cela aussi), de la même manière qu'il gère les erreurs.
J'ai parcouru la documentation mais il semble qu'il n'y ait pas une telle option.
Ai-je tort? Si je ne le suis pas, peut-être que quelqu'un a un tel extrait dans les parages?
De plus, la lenteur peut être causée par d'autres options dans ma configuration, comment est votre expérience avec le texte au format organisation imbriqué example
? Peut-être que j'aboie sous le mauvais arbre ici.
Merci
#+begin_example
ils fonctionnent très bienorg-mode
évolue toujours etorg-babel-insert-result
est déjà assez longue, et elle sera encore plus longue avec cette modification. Étape # 1 : Décidez d'un nouveau RESULT-PARAMS comme le motseparate
. Le bloc de code source peut contenir quelque chose comme l':results output separate
étape 2 : transformer l'if/then
instruction qui contient la condition(and result-params (member "silent" result-params))
en trois conditions, la nouvelle étant(and result-params (member "separate" result-params))
et définir un nouveau buf.Réponses:
Surprenant cela
org
n'offre pas d':output buffer
option. C'est peut-être en préparation pour les futuresorg
versions.Voici une façon de simuler cette fonctionnalité: prenez la sortie d'un bloc source et
stream
le mettre dans unnew buffer
:Étant donné que
mycontent
le bloc source alimente le contenumystream
, vous devrez exécuter uniquement lemystream
bloc src. Autrement dit,C-c C-c
sur lemystream
bloc.Si vous êtes
C-c C-c
sur lemycontent
bloc src, les résultats seront insérés dans le même tampon.Bien qu'il
mycontent
soit affiché sous forme de bloc src emacs-lisp, il peut s'agir de n'importe quel bloc org src valide. Vous devrez peut-être ajuster les:results
options en fonction de la langue.Le
:results none
pour lemystream
bloc src est contre-intuitif, mais la magie qui place votre contenu dans un nouveau tampon.la source
Depuis que j'ai accepté la réponse, je vis avec cette configuration «avoir un extrait elisp pour chaque rapport que je veux» depuis un certain temps.
Mais alors j'ai trouvé l'astuce suivante:
Il existe un moyen d'ouvrir la sortie org-babel dans un tampon séparé avec
C-o
-org-open-at-point
est fantaisie comme ça. Le problème est que le bloc de résultat est créé. Mais il y a aussi une commandeorg-babel-remove-result
. En combinant les deux, j'ai fait un petit hack saleLes blocs de code que j'utilise comme ça ont des propriétés
:results output :format raw :exports results
Mon fichier avec des astuces et des howtos n'est plus encombré de grandes sorties et le tampon est réutilisé (ce qui convient à mon workflow).
la source
(add-hook 'org-babel-after-execute-hook 'my-bable-to-buffer)))
.