2015年1月20日 星期二

org mode中agenda view的選取、排序、顯示方式

sparse tree 是 org mode 當中處理文字搜尋的結果呈現時,一種很有用的方式,但是更極致的方案叫做 match view(也就是agenda)。sparse tree 和 match view 的主要不同在於,前者呈現的是樹狀結構,後者是串列,而且是跨檔案的搜尋結果。樹狀結構雖然保留了架構,卻無法排序,這也是為什麼 agenda 比較常被使用的原因,以人類處理資訊的流程,或是像 SQL 這樣的結構化查詢語言,都是以"選取=>排序=>顯示(格式)"這樣的方式進行。

選取


agenda views區分為七種型態,前六種為內建:

  1. agenda--列出特定日期,如當天、週、月、年的工作
  2. TODO list--依狀態排序,列出所有TODO屬性不是DONE的工作
  3. match view--最具彈性者,可依 tag,property,todo ,level(以及 headline 的 regex) 組合來選取
  4. timeline view--依時間排序
  5. text search view--依關鍵字查詢。詳細語法滿有特色的…
  6. stuck projects view--條件由 org-stuck-projects 指定,以過濾出"卡卡的"工作。其實就是match view
  7. custom--自訂。要能正確的自訂,必需先了解 agenda 的整個流程,因此留待最後再說明

match 語法是 org mode 中特製的查詢語法,其內容詳見 http://orgmode.org/manual/Matching-tags-and-properties.html

sparse tree 查詢的指令是 org-match-sparse-tree ,  match view 的指令則是 org-tags-view

排序、顯示


參考 http://orgmode.org/manual/Presentation-and-sorting.html#Presentation-and-sorting

自訂


  1. emacs 是一個文字介面為主的程式,因此首先必需定義如何觸發自訂 agenda ,這必需在變數 org-agenda-custom-commands 當中做設定。說明可以由 M-x customize-variable org-agenda-custom-commands 看到並進行設定
  2. 各參數中,顯然最有彈性的 type 就是 tags 。 
  3. 參數 settings 可以參考 http://orgmode.org/manual/Setting-Options.html#Setting-Options 
  4. 例如 settings 中設定排序方式的 org-agenda-sorting-strategy 
  5. 顯示的過濾和筆數限制,則可以在執行 agenda view 後以互動的方式進行

沒有留言:

張貼留言