Como vincular uma chave a um comando / lista da agenda específica no modo organizacional

15

Adicionei uma chave personalizada para a agenda da organização para mostrar todos os itens não programados do TODO após o 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: ")))))

Posso trazer essa lista com C-c a u, mas prefiro vinculá-la a uma única chave. Atualmente eu tenho o simples:

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

mas eu gostaria que isso usasse o comando personalizado acima. Eu tive uma escavação no manual, mas não consigo ver como fazê-lo.

rneatherway
fonte

Respostas:

12

Você pode fazer isso agrupando uma chamada org-agendaem um comando personalizado e vinculando-o a uma chave:

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

Como não gosto de criar uma função explícita, rolei meu mapa dentro de uma lambda:

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