Org-Mode: Teclas rápidas para tareas

2 minutos de lectura

Para cambiar entre los diferentes estados de mis tareas en org-mode utilizo la combinación de teclas C-c C-t, pasando por los estados TODO-INICIADA-SIGUIENTE-HECHA-PARADA-CANCELADA

Sin embarco puedes configurar una tecla para cambiar rápidamente el estado de la tarea, por ejemplo, cuando empiezo a trabajar en una tarea, pulso i en el inicio de la rama y la tarea cambia al estado INICIADA, e inicio el reloj para saber el tiempo que me lleva realizarla, si pulso o la tarea cambia al estado PARADA, para terminar la tarea pulso la tecla x y la tarea cambia al estado HECHA

Cada vez que hay un cambio de estado en la tarea, dentro del LOGBOOK anoto la fecha y el tiempo que ha durado cada estado.

Para hacer que con cada cambio de estado del reloj también cambie el estado de la tarea utilizo el paquete org-clock, de esta forma, cuando se inicia el reloj (org-clock-in), la tarea cambia al estado INICIADA, cuando se para (org-clock-out) pasa al estado PARADA y cuando termino la tarea (org-todo) cambia a HECHA.

También he asignado a la tecla d el poder visualizar el tiempo que llevo realizando la tarea.

 1(use-package org-clock
 2  :ensure nil
 3  :after org
 4  :preface
 5  :custom
 6  (org-clock-continuously nil)
 7  (org-clock-in-switch-to-state "INICIADA")
 8  (org-clock-out-switch-to-state "PARADA")
 9  (org-clock-out-remove-zero-time-clocks t)
10  (org-clock-persist t)
11  (org-clock-persist-query-resume nil)
12  (org-clock-report-include-clocking-task t)
13  (org-show-notification-handler (lambda (msg) (alert msg))))

Si quieres implementar estas teclas rápidas, copia el siguiente código en tu fichero de configuración

 1(defun my/org-use-speed-commands-for-headings-and-lists ()
 2      "Activa las teclas rápidas también en los elementos de la lista."
 3      (or (and (looking-at org-outline-regexp) (looking-back "^\**"))
 4          (save-excursion (and (looking-at (org-item-re)) (looking-back "^[ \t]*")))))
 5(org-log-into-drawer "LOGBOOK")
 6(org-use-effective-time t)
 7    (org-use-speed-commands 'my/org-use-speed-commands-for-headings-and-lists)
 8    (org-yank-adjusted-subtrees t)
 9    :config
10    (add-to-list 'org-speed-commands-user '("i" call-interactively 'org-clock-in))
11    (add-to-list 'org-speed-commands-user '("o" call-interactively 'org-clock-out))
12    (add-to-list 'org-speed-commands-user '("d" call-interactively 'org-clock-display))
13    (add-to-list 'org-speed-commands-user '("x" org-todo "HECHA"))
14    (org-clock-persistence-insinuate))

Espero que te haya gustado, pasa un buen día…:penguin: