วิธีการผูกกุญแจกับคำสั่ง / รายการวาระเฉพาะในโหมดองค์กร


15

ฉันได้เพิ่มคีย์ที่กำหนดเองสำหรับวาระการประชุมเพื่อแสดงรายการสิ่งที่ต้องทำที่ไม่ได้กำหนดไว้ทั้งหมดที่ติดตาม 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")))
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.