So binden Sie eine Taste an einen bestimmten Agenda-Befehl / eine bestimmte Agenda-Liste im Organisationsmodus

15

Ich habe einen benutzerdefinierten Schlüssel für die Organisationsagenda hinzugefügt, um alle ungeplanten Aufgaben nach Sacha Chua anzuzeigen:

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

Ich kann diese Liste mit C-c a uaufrufen, aber ich möchte sie lieber an einen einzelnen Schlüssel binden. Derzeit habe ich die einfache:

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

aber ich möchte, dass dies den obigen benutzerdefinierten Befehl verwendet. Ich habe das Handbuch durchgesehen, kann aber nicht nachvollziehen, wie es geht.

rneatherway
quelle

Antworten:

12

Sie können dies tun, indem Sie einen Aufruf von org-agendain einen benutzerdefinierten Befehl einschließen und diesen an eine Taste binden:

(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
quelle
1

Ich mag es nicht, eine explizite Funktion zu erstellen, also habe ich meine Karte in einem Lambda gerollt:

(define-key org-mode-map (kbd "<f8>") '(lambda (&optional arg) (interactive "P")(org-agenda arg "u")))
kshenoy
quelle