分开打开4个议程windows(艾森豪威尔矩阵...书:高效能人士的七个习惯)

Open 4 agendas in separate windows (Eisenhower Matrix... book: Seven Habits of Highly Effective People)

如何打开 Emacs 议程部分,将任务分为紧急重要类别,如艾森豪威尔矩阵...书:高效能人士的七个习惯。

我们想要:

使用单个键盘敲击命令?

我成功了!:

(add-to-list 'org-agenda-custom-commands
             '("1" "Eisenhower matrix"
               ((tags-todo
                 "+PRIORITY=\"A\""
                 ((org-agenda-overriding-header "Urgent and important"))))
              nil))

(add-to-list 'org-agenda-custom-commands
             '("2" "Eisenhower matrix"
               ((tags-todo
                 "+PRIORITY=\"B\""
                 ((org-agenda-overriding-header "Important but not urgent"))))
              nil))

(add-to-list 'org-agenda-custom-commands
             '("3" "Eisenhower matrix"
               ((tags-todo
                 "+PRIORITY=\"C\""
                 ((org-agenda-overriding-header "Urgent but not important"))))
               nil))

(add-to-list 'org-agenda-custom-commands
             '("4" "Eisenhower matrix"
               ((tags-todo
         "+PRIORITY=0-PRIORITY=\"A\"-PRIORITY=\"B\"-PRIORITY=\"C\""
                 ((org-agenda-overriding-header "Neither important nor urgent"))))
              nil))

(setq org-lowest-priority ?E)
(setq org-default-priority ?E)

(add-to-list 'org-agenda-custom-commands
             '("1" "Eisenhower matrix"
               ((tags-todo
                 "+PRIORITY=\"A\""
                 ((org-agenda-overriding-header "Urgent and important"))))
              nil))


(add-to-list 'org-agenda-custom-commands
             '("2" "Eisenhower matrix"
               ((tags-todo
                 "+PRIORITY=\"B\""
                 ((org-agenda-overriding-header "Important but not urgent"))))
              nil))



(add-to-list 'org-agenda-custom-commands
             '("3" "Eisenhower matrix"
               ((tags-todo
                 "+PRIORITY=\"C\""
                 ((org-agenda-overriding-header "Urgent but not important"))))
               nil))



(add-to-list 'org-agenda-custom-commands
             '("4" "Eisenhower matrix"
               ((tags-todo
         "+PRIORITY=0-PRIORITY=\"A\"-PRIORITY=\"B\"-PRIORITY=\"C\""
                 ((org-agenda-overriding-header "Neither important nor urgent"))))
              nil))


;-----------------------------------------------------------

;(org-toggle-sticky-agenda) ;generate differens agendas buffers in separated windows
(setq org-agenda-sticky t)  ;generate differens agendas buffers in separated windows

(defun myAgenda1 ()
  (interactive)
  (org-agenda nil "1"))

;(global-set-key (kbd "C-c C-x C-d") 'myAgenda1) 


(defun myAgenda2 ()
  (interactive)
  (org-agenda nil "2"))

;(global-set-key (kbd "C-c C-x C-l") 'myAgenda2) 

(defun myAgenda3 ()
  (interactive)
  (org-agenda nil "3"))

;(global-set-key (kbd "C-c C-x C-r") 'myAgenda3) 


(defun myAgenda4 ()
  (interactive)
  (org-agenda nil "4"))

;(global-set-key (kbd "C-c C-x C-p") 'myAgenda4) 


(defun split-4-ways ()
  (interactive)
  (delete-other-windows)
  (split-window-right)
  (split-window-below)
  (windmove-right)
  (split-window-below)
  (windmove-left))
;(global-set-key (kbd "C-c C-x C-u") 'split-4-ways) 


(defun makeAgendas ()
 (interactive)
  (myAgenda1)
  (myAgenda2)
  (myAgenda3)
  (myAgenda4)
  )
;(global-set-key (kbd "C-c C-x C-t") 'makeAgendas) 

(defun makeMatrix ()
 (interactive)
 (makeAgendas) ;it opens: *Org Agenda(1)*, *Org Agenda(2)*, *Org Agenda(3)*, *Org Agenda(4)*
 (split-4-ways)  ;make the 4 quadrant windows
 (switch-to-buffer  "*Org Agenda(1)*")  ;put the Agenda(1) in the left, up quadrant
 (windmove-right)
 (switch-to-buffer  "*Org Agenda(2)*")  ;put the Agenda(2) in the right, up quadrant
 (windmove-down)
 (switch-to-buffer  "*Org Agenda(4)*")  ;put the Agenda(3) in the left, down quadrant
 (windmove-left)
 (switch-to-buffer  "*Org Agenda(3)*")  ;put the Agenda(4) in the right, down quadrant
 )

(global-set-key (kbd "<f5>") 'makeMatrix) 

使用组织文件:

* TODO [#A] Task 1
* TODO [#A] Task 2
* TODO [#B] Task 3
* TODO [#D] Task 4
* TODO [#C] Task 5
* TODO [#A] Task 6
* TODO [#C] Task 7
* TODO [#D] Task 8
* TODO Task 9
* TODO [#B] Task 10
* TODO [#B] Task 11 
* TODO [#C] Task 12
* TODO Task 13

我得到: