org-mode – Modo Org de Emacs: Cómo agregar titulares con un cajón de propiedades prefabricado

Pregunta:

Tengo diferentes archivos individuales donde almaceno diferentes tipos de datos, un tipo de datos por archivo. Por ejemplo, un archivo para direcciones y un archivo con una entrada para cada uno de mis CD de música.

Necesito la siguiente funcionalidad por archivo de datos: Para cada nuevo título que haga, inserte automáticamente un: PROPIEDADES: cajón, con claves de propiedad especificadas, justo debajo del título.

Entonces, por ejemplo, cuando en mi archivo de direcciones, presiono Cc para agregar un nuevo título para una nueva entrada, y obtengo algo como esto:

* <headline text to be made>
:PROPERTIES:
   :Name:
   :Street:
   :Tel:
:END:

donde las claves de propiedad ("Nombre", "Calle", "Tel") se dan sin valor de propiedad.

O, si mi único archivo contiene datos para mi colección de minerales, me gustaría que cada nuevo título se vea así:

* <headline text to be made>
:PROPERTIES:
   :Mineral_type:
   :Longitude:
   :Latitude:
:END:

Tengo dos preguntas:

1) ¿Cómo puedo insertar automáticamente dichos cajones de propiedades, con claves de propiedad especificadas, debajo de cada encabezado, en función de algunas configuraciones de variables de archivo en la parte superior del archivo?

2) ¿Cómo puedo recorrer las propiedades en un cajón para agregar valores de propiedad a cada clave de propiedad?

Respuesta:

Puede utilizar el sistema de plantillas orgmode (para la pregunta 1). Al comienzo de su archivo de organización, puede agregar las siguientes líneas:

 # -*- eval: (save-excursion  (org-babel-goto-named-src-block "mytemplate") (org-babel-execute-src-block)) ; -*-

 #+NAME: mytemplate
 #+BEGIN_SRC elisp :results none 
   (add-to-list 'org-structure-template-alist '("T" "* ?\n:PROPERTIES:\n   :Name:\n   :Street:\n   :Tel:\n:END:\n"))
 #+END_SRC

Cuando vuelva a abrir su archivo de organización, se le pedirá una confirmación (escriba 'y' para un cambio temporal (se pedirá confirmación la próxima vez) o ! Para evitar la confirmación en la próxima apertura))

Luego, cuando necesite insertar una nueva entrada, solo tiene que escribir <T luego la tecla <TAB> y se usará su plantilla. En el código fuente, el ? corresponde a donde se colocará el cursor después de la inserción de la plantilla => puede cambiar su lugar a su conveniencia.

Referencia utilizada: https://redd.it/64jhlt

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım