2016-03-02 26 views
1

我們有例如:如何在一個過濾器中添加兩個鍵? [emacs | org-mode | ORG-議程自定義命令]

(setq org-agenda-custom-commands 
    '(("c" "Desk Work" tags-todo "computer" ;; (1) (2) (3) (4) 
    ((org-agenda-files '("~/org/widgets.org" "~/org/clients.org")) ;; (5) 
     (org-agenda-sorting-strategy '(priority-up effort-down))) ;; (5) cont. 
    ("~/computer.html")) ;; (6) 
    ;; ...other commands here 
    )) 

如果用戶發送鈣ç這個例子開始

問題: 我需要得到這個代碼可以與幾個工作字符。例如,我可以獲得C-a cC-a 3,並且同時執行相同的代碼。 C-一個C = C-3

我需要看到在議程緩衝:

"c" or "3" "Desk Work" 

回答

0

如果我正確認識你,你要定義具有相同議程命令兩個鍵。我會把議程命令的相關部分在一個變量,像這樣:

(defvar my/org-agenda-desk-work 
    '(tags-todo "computer" 
    ((org-agenda-files '("~/org/widgets.org" "~/org/clients.org")) 
    (org-agenda-sorting-strategy '(priority-up effort-down))) 
    ("~/computer.html")) 
    "Custom agenda command for desk work. 
The value (a list form) is the correct format to be the tail of 
an entry in `org-agenda-custom-commands', lacking only the key 
used to trigger the agenda and a name.") 

如果該命令將不同按鍵之間一點,你也可以使用一個功能所必需的參數化:

(defun my/org-agenda-desk-work-tagged (tag) 
    "Return desk work agenda command for TAG. 

The return value (a list form) is the correct format to be the 
tail of an entry in `org-agenda-custom-commands', lacking only 
the key used to trigger the agenda and a name" 
    `("Desk Work" tags-todo ,tag 
    ((org-agenda-files '("~/org/widgets.org" "~/org/clients.org")) 
    (org-agenda-sorting-strategy '(priority-up effort-down))) 
    ("~/computer.html"))) 

要使用這些,你會做這樣的事情:

(setq org-agenda-custom-commands 
     `(("c" "Desk Work" ,@my/org-agenda-desk-work) 
     ("3" "Desk Work" ,@my/org-agenda-desk-work) 
     ("f" "Desk Work Foo" ,@(my/org-agenda-desk-work-tagged "foo")) 
     ;; ...other commands here 
     )) 
+0

謝謝,但我認爲另一個 –

相關問題