Org-Mode: Teclas rápidas para tareas

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.

(use-package org-clock
  :ensure nil
  :after org
  :preface
  :custom
  (org-clock-continuously nil)
  (org-clock-in-switch-to-state "INICIADA")
  (org-clock-out-switch-to-state "PARADA")
  (org-clock-out-remove-zero-time-clocks t)
  (org-clock-persist t)
  (org-clock-persist-query-resume nil)
  (org-clock-report-include-clocking-task t)
  (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

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

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