Définir la langue par défaut pour les blocs de code dans orgmode


14

Existe-t-il un moyen de définir une langue par défaut pour les blocs de code en mode organisation dans l'en-tête du document? Habituellement, dans un seul document organisationnel, j'utilise un seul langage de programmation, donc il devient fastidieux d'écrire toujours

#+BEGIN_SRC python
[...]
#+END_SRC

Ce serait bien de pouvoir faire quelque chose comme

#+PROPERTY: header-args :session *mysession* :tangle yes :results silent :language python

[...]

#+BEGIN_SRC
[...]
#+END_SRC

Y'a-t-il une quelconque façon de réussir cela?


2
Cela ne répond pas à la question de savoir comment définir la langue par défaut, mais cela vous fera certainement économiser beaucoup de frappe. La saisie <ssuivie de la TABtouche se développera automatiquement dans la structure du bloc de code source, puis il vous suffit de taper python, d'aller à la ligne suivante et de remplir le code.
Kaushal Modi

Consultez orgmode.org/manual/… . On dirait que la spécification de langue est requise. Avez-vous posté sur la liste des organisations? Si vous ne l'avez pas fait, je le ferai, c'est un désir intéressant et probablement commun.
grettke


Merci, @grettke, d'avoir pris l'initiative de publier sur la liste de diffusion.
andreas-h

L'astuce de la liste de diffusion ci-dessus (si l'on cherche une solution qui n'implique pas d'avoir #+BEGIN_SRC pythondans le .orgfichier) est probablement que vous devrez modifier org-babel-get-src-block-info afin qu'il renvoie une valeur par défaut lorsqu'il y a n'est rien après # + BEGIN_SRC
ShreevatsaR

Réponses:


10

Cette réponse fournit une solution de contournement réalisable.

La façon la plus simple de le faire serait d'utiliser des modèles simples . Ajoutez vos modèles à org-structure-template-alist:

(add-to-list 'org-structure-template-alist
         '("py" "#+BEGIN_SRC python :results output\n?\n#+END_SRC" ""))

Le point d'interrogation indique la position du curseur. Insérez le bloc de code avec <pyTAB dans ce cas.


2
Votre réponse est de savoir comment ajouter de nouveaux modèles pour l'expansion, et non pour définir par défaut la langue d'un bloc source.
grettke

Bien que cela résout le problème de faciliter la saisie de tels blocs, cela ne résout pas le «problème» que le fichier source contient toujours #+BEGIN_SRC pythonau lieu de simplement #+BEGIN_SRC- cela rend le fichier source un peu plus difficile à lire, par exemple.
ShreevatsaR
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.