org-mode tiene la capacidad de representar el código fuente, con bloques de la siguiente sintaxis:
#+NAME: <name>
#+BEGIN_SRC <language> <switches> <header arguments>
<body>
#+END_SRC
¿Existe un comando existente para insertar rápidamente estos bloques org-mode, o necesito usar una herramienta externa como yasnippet?

hydrapaquete: blogpost (3) Otro fragmento para una fácil inserción del bloque fuente de la organización.Respuestas:
Como @kaushalmodi menciona en los comentarios que puede usar
(org) Easy Templatespara acelerar la inserción de diferentes tipos de bloques.El procedimiento general es insertar
<seguido de un selector de plantilla (generalmente una sola letra) en una línea vacía y presionar TAB.El selector de plantilla para una plantilla de bloque fuente genérico es
s, por lo que escribir<sseguido TABle dará esto:El punto se colocará al final de la primera línea.
Esta es una buena primera aproximación de lo que quieres lograr, pero esto es Emacs, ¡así que hagámoslo mejor!
Puede definir plantillas personalizadas agregando una o más entradas a una variable llamada
org-structure-template-alist. Por ejemplo:Este código agrega una
#+NAME:plantilla aorg-structure-template-alist, utilizandoncomo un selector de plantilla. Después de expandir esta plantilla, el punto se colocará en la ubicación de?.Si siempre nombra sus bloques de código, también puede sobrescribir la versión original de la plantilla de bloque de origen con una versión extendida que incluya la
#+NAME:línea:Escribir
<sseguido de TABentonces te dará:Esto es sólo la punta del iceberg; puede usar un enfoque similar para definir plantillas adicionales para bloques de código específicos del idioma, bloques de código con argumentos de encabezado específicos, etc.
fuente
<s TABEmacs 25 en Mac OS X y parecía funcionar.org-try-structure-completionfunción (para Easy-templates). Pero de todos modos, será reemplazado por Template-templates en el futuro. cf. code.orgmode.org/bzg/org-mode/commit/…¿Por qué no lo escribes tú mismo?
fuente
En mi caja, el 99% del tiempo estoy creando bloques fuente y el 1% del tiempo estoy haciendo todo lo demás. Para el 1%, las plantillas fáciles son perfectas y para el 99% tengo un YaSnippet.
NAMEuso único,org-idpero eso no nos importa nada a nosotros) y luego me pregunta qué idioma quiero usar limitándolo a los que le dije a Org-Mode Literate Programming (babel)Aquí está el YaSnippet con mi código de respaldo al final.
Requiere tablero y modo org cargado.
Aquí hay un ejemplo de cómo podría funcionar esta identificación:
Resultados en
fuente
fuente