Як прив’язати ключ до певної команди / списку порядку денного в режимі org


15

Я додав спеціальний ключ до порядку денного органу, щоб показати всі позапланові пункти TODO, які слідують за 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: ")))))

Я можу створити цей список 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.