Org-Mode: Capturas rápidas con org-capture
2019-11-04
Índice
Las plantillas para org-capture
ahorran mucho tiempo a la hora de agregar nuevas entradas, yo las suelo usar para registrar rápidamente tareas, citas, notas para el blog y otra información.
Para que veas su funcionalidad te muestro un ejemplo de su utilidad, más adelante de explicaró como añadirlo a tu fichero de configuración.
Iniciando el modo captura
Supongamos que necesita añadir una nueva tarea personal, con la combinación de teclas C-c c
inicio el menú para capturas
Como puedes ver en la captura, tengo generedas una serie de plantillas dependiendo si es una tarea, cita, un nuevo contacto, etc, como quiero añadir una nueva tarea personal pulso la tecla t
Escribo la tarea a realizar
Me gusta saber cuanto tiempo me lleva cada tarea así que he añadido una pequeña función para saber aproximadamente el tiempo que me va a llevar realizar la tarea, si no te gusta la puedes quitar de la configuración de tu fichero init.el
Despuós de añadir la información que creas oportuna para tu nueva tarea, tenemos tres opciones
-
C-c C-c
guarda la tarea en el ficheroreubicar
, este fichero lo suelo utilizar para guardar tareas, notas, etc, para su posterior revisión y archivado en el fichero y rama correspondiente. -
C-c C-w
guarda directamente la tarea en el fichero y rama que indiquemos. -
C-c C-k
cancela la tare
C-c C-w
Si pulsamos la combinación de teclas C-c C-w
(refile) y empiezo a teclear por ejemplo las letras tare
irán apareciendo todas las ramas de los ficheros (que formen a parte de mi agenda) donde encuentre esa palabra, en mi caso podria guardar la tarea tanto en el fichero personal.org
como en trabajo.org
.
Solo tenemos que seleccionar el fichero personal.org
para guardar la tarea en la rama correspondiente
C-c C-c
Si por el contaría queremos guardar la tarea en el fichero reubicar para revisarla más tarde, pulsaremos la combinación de teclas C-c C-c
, veamos el contenido de ese fichero, de entre los buffers que tenemos abiertos
lo seleccionamos y lo abrimos
Para ubicar la tarea en su rama y fichero correspondiente pulsamos C-c C-w
y repetimos el proceso que vimos en el paso anterior
Esto que he aplicado a una tarea lo puedes aplicar tambien a notas que en ese momento no sabes muy bien donde ubicar, tareas, citas, contactos, etc.
Configuración
Una vez vista su utilizad necesitas configurar tu fichero init.d
para añadir el paquete org-capture
y definir las funciones de captura y plantillas. Yo utilizo use-package
y un fichero org
para mi configuración, si no es tu caso, copia las funciones dev-var
. Puedes observar como defino C-c c
para iniciar la captura
:bind ("C-c c" . org-capture)
Si no necesitas hacer una valoración del tiempo estimado que te llevan realizar las tareas puedes suprimir
:PROPERTIES:
:Effort: %^{effort|1:00|0:05|0:15|0:30|2:00|4:00}
:END:
Si tampoco usas org-contacts
tambión puedes suprimir la función my/org-contacts-template
file+headline "~/.personal/agenda/reubicar.org" "Fechas"
si no existe, crea en el fichero reubicar.org
, una rama llamada Fechas y guarda allí las notas capturadas con la tecla f
, así lo mismo para Nota, Blog, Tareas, etc.
Creo que el código es bastante fácil de seguir, modifícalo según tus necesidades
(use-package org-capture
:ensure nil
:after org
:bind ("C-c c" . org-capture)
:preface
(defvar my/org-basic-task-template "* TODO %^{Tareas}
:PROPERTIES:
:Effort: %^{effort|1:00|0:05|0:15|0:30|2:00|4:00}
:END:
Capturado %<%Y-%m-%d %H:%M>" "Plantilla básica de tareas.")
(defvar my/org-contacts-template "* %(org-contacts-template-name)
:PROPERTIES:
:EMAIL: %(org-contacts-template-email)
:PHONE: %^{123-456-789}
:HOUSE: %^{123-456-789}
:ALIAS: %^{nuko}
:NICKNAME: %^{Carlos M}
:IGNORE:
:NOTE: %^{NOTA}
:ADDRESS: %^{Calle Ejemplo 1 2A, 28320, Pinto, Madrid, España}
:BIRTHDAY: %^{yyyy-mm-dd}
:END:" "Plantilla para org-contacts.")
:custom
(org-capture-templates
`(("c" "Contactos" entry (file+headline "~/.personal/agenda/contactos.org" "Amigos"),
my/org-contacts-template
:empty-lines 1)
("f" "Fecha" entry (file+headline "~/.personal/agenda/reubicar.org" "Fechas"),
my/org-basic-task-template
:empty-lines 1)
("n" "Nota" entry (file+headline "~/.personal/agenda/reubicar.org" "Nota"),
my/org-basic-task-template
:empty-lines 1)
("i" "Cita" entry (file "~/.personal/agenda/diario.org" ),
"* cita con %? \n%T"
:empty-lines 1)
("b" "Blog" entry (file+headline "~/.personal/agenda/reubicar.org" "Blog"),
my/org-basic-task-template
:empty-lines 1)
("t" "Tarea" entry (file+headline "~/.personal/agenda/reubicar.org" "Tareas"),
my/org-basic-task-template
:empty-lines 1))))
Espero que te haya gustado, pasa un buen día…🐧