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.