Как связать ключ с определенной командой / списком повестки дня в режиме org


15

Я добавил пользовательский ключ для повестки дня организации, чтобы показать все незапланированные элементы TODO, следующие за Саша Чуа:

(defun sacha/org-agenda-skip-scheduled ()
  (org-agenda-skip-entry-if 'scheduled 'deadline 'regexp "\n]+>"))

(setq org-agenda-custom-commands
   '(("u" "Unscheduled tasks" alltodo ""
      ((org-agenda-skip-function 'sacha/org-agenda-skip-scheduled)
       (org-agenda-overriding-header "Unscheduled TODO entries: ")))))

Я могу вызвать этот список C-c a u, но лучше связать его с одним ключом. В настоящее время у меня есть простое:

(global-set-key (kbd "<f8>") 'org-todo-list)

но я бы хотел использовать вышеуказанную пользовательскую команду. Я изучил руководство, но не понимаю, как это сделать.

Ответы:


12

Вы можете сделать это, включив вызов org-agendaв пользовательскую команду и связав его с ключом:

(defun org-agenda-show-unscheduled (&optional arg)
  (interactive "P")
  (org-agenda arg "u"))

(define-key org-mode-map (kbd "<f8>") 'org-agenda-show-unscheduled)

1

Мне не нравится создавать явную функцию, поэтому я перевернул свою карту в лямбду:

(define-key org-mode-map (kbd "<f8>") '(lambda (&optional arg) (interactive "P")(org-agenda arg "u")))
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.