Jak powiązać klucz z określonym poleceniem / listą programu w trybie organizacji

15

Dodałem niestandardowy klucz do porządku dziennego, aby wyświetlać wszystkie nieplanowane elementy DO ZROBIENIA następujące po Sacha Chua:

(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: ")))))

Mogę przywołać tę listę C-c a u, ale wolę po prostu powiązać ją z jednym kluczem. Obecnie mam prosty:

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

ale chciałbym, aby użyło powyższego polecenia niestandardowego. Przekopałem się przez instrukcję, ale nie widzę, jak to zrobić.

Rneatherway
źródło

Odpowiedzi:

12

Możesz to zrobić, umieszczając wywołanie org-agendaw niestandardowym poleceniu i przypisując je do klawisza:

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

(define-key org-mode-map (kbd "<f8>") 'org-agenda-show-unscheduled)
itsjeyd
źródło
1

Nie lubię tworzyć wyraźnych funkcji, więc zwróciłem mapę w lambda:

(define-key org-mode-map (kbd "<f8>") '(lambda (&optional arg) (interactive "P")(org-agenda arg "u")))
kshenoy
źródło