Establecer idioma predeterminado para bloques de código en orgmode

14

¿Hay alguna manera de definir un idioma predeterminado para los bloques de código del modo org en el encabezado del documento? Por lo general, dentro de un documento de organización, solo uso un lenguaje de programación, por lo que es cansado escribir siempre

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

Sería bueno poder hacer algo como

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

[...]

#+BEGIN_SRC
[...]
#+END_SRC

¿Hay alguna forma de lograr esto?

andreas-h
fuente
2
Esto no responde la pregunta sobre cómo configurar el idioma predeterminado, pero definitivamente le ahorrará mucho tipeo. Escribir <sseguido por la TABtecla se expandirá automáticamente en la estructura de bloque del código fuente y luego simplemente necesita escribir python, ir a la siguiente línea y completar el código.
Kaushal Modi
Echa un vistazo a orgmode.org/manual/… . Parece que se requiere la especificación del idioma. ¿Publicaste en la lista de organizaciones? Si no lo hiciste, lo haré, este es un deseo interesante y probablemente común.
grettke
Gracias, @grettke, por tomar la iniciativa de publicar en la lista de correo.
andreas-h
La sugerencia de la lista de correo anterior (si está buscando una solución que no implique tener #+BEGIN_SRC pythonen el .orgarchivo) es Probablemente tendría que modificar org-babel-get-src-block-info para que devuelva un valor predeterminado cuando haya no es nada después de # + BEGIN_SRC
ShreevatsaR

Respuestas:

10

Esta respuesta proporciona una solución viable.

La forma más fácil de hacer esto sería usar plantillas fáciles . Agregue sus plantillas a org-structure-template-alist:

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

El signo de interrogación indica la posición del cursor. Inserte el bloque de código con <pyTAB en este caso.

mutbuerger
fuente
2
Su respuesta es cómo agregar nuevas plantillas para la expansión, no para predeterminar el idioma de un bloque de origen.
grettke
Si bien esto resuelve el problema de facilitar la entrada de dichos bloques, no resuelve el "problema" que el archivo fuente todavía contiene en #+BEGIN_SRC pythonlugar de solo #+BEGIN_SRC: esto hace que el archivo fuente sea un poco más difícil de leer, por ejemplo.
ShreevatsaR