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?


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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.