с помощью функции org-deadline
можно определить срок выполнения задач в режиме Emacs org. Описание выглядит следующим образом:
(org-deadline ARG &optional TIME)
Insert the "DEADLINE:" string with a timestamp to make a deadline.
With one universal prefix argument, remove any deadline from the item.
With two universal prefix arguments, prompt for a warning delay.
With argument TIME, set the deadline at the corresponding date. TIME
can either be an Org date like "2011-07-24" or a delta like "+2d".
Я хочу создать привязку ключа, чтобы установить дату окончания в 1 неделю напрямую. Таким образом, связывание клавиш должно вызывать функцию org-deadline
и давать +1w
в качестве аргумента. Запись (org-deadline nil "+1w")
, а затем выполнение eval
для этого региона работает, как и ожидалось.
Но почему я не могу связать это с ключом? Я попробовал следующие два варианта:
(defun org-deadline-in-one-week ()
(interactive)
(org-deadline nil "+1w"))
(global-set-key (kbd "C-c C-s") 'org-deadline-in-one-week)
(global-set-key (kbd "C-c C-s") (lambda () (interactive) (org-deadline nil "+1w")))
Оба способа терпят неудачу в том смысле, что интерактивное меню для выбора дата все еще показана. Он побуждает меня выбрать дату с помощью клавиш курсора, а затем подтвердить с помощью RET
. Но я хочу использовать интерактивную функцию неинтерактивно и просто установить срок оплаты на одну неделю в будущем. Чего мне не хватает?
Обновление: я использую Org mode version 9.1.9 (release_9.1.9-65-g5e4542 @ /usr/share/emacs/26.1/lisp/org/)
.