Cara mengikat kunci ke perintah / daftar agenda tertentu dalam mode org

15

Saya telah menambahkan kunci khusus untuk agenda organisasi untuk menampilkan semua item TODO yang tidak terjadwal berikut 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: ")))))

Saya dapat memunculkan daftar ini C-c a u, tetapi saya lebih suka mengikatnya ke satu tombol. Saat ini saya punya yang sederhana:

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

tapi saya ingin ini menggunakan perintah khusus di atas. Saya telah menggali melalui manual tetapi saya tidak bisa melihat bagaimana melakukannya.

jalur jalan
sumber

Jawaban:

12

Anda dapat melakukan ini dengan membungkus panggilan ke org-agendadalam perintah khusus dan mengikatnya ke kunci:

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

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

Saya tidak suka membuat fungsi eksplisit jadi saya menggulung peta saya di dalam lambda:

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