Ответ 1
Я тоже хотел сделать это в течение некоторого времени, и ваш вопрос вдохновил меня наконец разобраться.
Существует функция, называемая "org-todo-вчера". По умолчанию он не привязан к какому-либо ключу, но вы всегда можете вызвать его с помощью M-x
org-todo-yesterday
(или сопоставить его, если вы его используете). Для меня он ломается, потому что он вызывает "третью", которая не является определенной функцией в моей установке.
Для более общей функции, которая подсказывает нам дату и маркирует все, что было сделано в то время, мы можем добавить эту функцию (вдохновленную org-todo-вчера) в наш initac файл emacs. Он будет действовать так, как будто вы закончили работу в 23:59 на заданную дату, что, надеюсь, будет достаточно хорошим.
(defun dk/org-todo-custom-date (&optional arg)
"Like org-todo-yesterday, but prompt the user for a date. The time
of change will be 23:59 on that day"
(interactive "P")
(let* ((hour (nth 2 (decode-time
(org-current-time))))
(daysback (- (date-to-day (current-time-string)) (org-time-string-to-absolute (org-read-date))))
(org-extend-today-until (+ 1 (* 24 (- daysback 1)) hour))
(org-use-effective-time t)) ; use the adjusted timestamp for logging
(if (eq major-mode 'org-agenda-mode)
(org-agenda-todo arg)
(org-todo arg))))