當前位置:
首頁 > 知識 > Emacs 系列(三):Org 模式的補充

Emacs 系列(三):Org 模式的補充

Emacs 系列(三):Org 模式的補充


編譯自: https://changelog.complete.org/archives/9877-emacs-3-more-on-org-mode

作者: John Goerzen

譯者: Yuqi Liu

這是 Emacs 和 Org 模式系列 的第三篇。

Todo 的跟進及關鍵字

當你使用 Org 模式來跟進你的 TODO 時,它有多種狀態。你可以用 C-c C-t 來快速切換狀態。我將它設為這樣:


(setq org-todo-keywords "(

(sequence "TODO(t!)" "NEXT(n!)" "STARTED(a!)" "WAIT(w@/!)" "OTHERS(o!)" "|" "DONE(d)" "CANCELLED(c)")

))

在這裡,我設置了一個任務未完成的五種狀態:TODO、NEXT、STARTED、WAIT 及 OTHERS。每一個狀態都有單個字的快捷鍵(t、n、a 等)。管道符(|)之後的狀態被認為是「完成」的狀態。我有兩個「完成」狀態:DONE(已經完成)及 CANCELLED(還沒完成,但由於其它的原因無法完成)。

! 的含義是記錄某項更改為狀態的時間。我不把這個添加到完成的狀態,是因為它們已經被記錄了。@ 符號表示帶理由的提示,所以當切換到 WAIT 時,Org 模式會問我為什麼,並將這個添加到筆記中。

以下是項目狀態發生變化的例子:


** DONE This is a test

CLOSED: [2018-03-02 Fri 03:05]

- State "DONE" from "WAIT" [2018-03-02 Fri 03:05]

- State "WAIT" from "TODO" [2018-03-02 Fri 03:05] \

waiting for pigs to fly

- State "TODO" from "NEXT" [2018-03-02 Fri 03:05]

- State "NEXT" from "TODO" [2018-03-02 Fri 03:05]

在這裡,最新的項目在最上面。


議程模式,日程及期限

當你處在一個待辦事項時,C-c C-s 或 C-c C-d 可以為其設置相應的日程或期限。這些都是在議程模式中的功能。它們的區別在於其意圖和表現。日程是你希望在某個時候完成的事情,而期限是在某個特定的時間應該完成的事情。默認情況下,議程視圖將在項目的截止日期前提醒你。

在此過程中, 議程視圖 將顯示即將出現的項目,提供了一種基於純文本或標記搜索項目的方法,甚至可以進行跨多個文件處理項目的批量操作。我在本系列的 第 2 部分 中介紹了為議程模式配置。


標籤

Org 模式當然也支持標籤了。你可以通過 C-c C-q 快速的建立標籤。

你可能會想為一些常用的標籤設置快捷鍵。就像這樣:


(setq org-tag-persistent-alist

"(("@phone" . ?p)

("@computer" . ?c)

("@websurfing" . ?w)

("@errands" . ?e)

("@outdoors" . ?o)

("MIT" . ?m)

("BIGROCK" . ?b)

("CONTACTS" . ?C)

("INBOX" . ?i)

))

你還可以按文件向該列表添加標記,也可以按文件為某些內容設置標記。我就在我的 inbox.org 和 email.org 文件中設置了一個 INBOX 的標籤。然後我可以每天從日程視圖中查看所有標記為 INBOX 的項目,像將它們重新歸檔到其他文件中的這樣的簡單操作將讓它們去掉 INBOX 標記。


重新歸檔

「重新歸檔」就是在文件中或其他地方移動。它是使用標題來完成的。C-c C-w 就是做這個的。我設置成這樣:


(setq org-outline-path-complete-in-steps nil) ; Refile in a single go

(setq org-refile-use-outline-path "file)

歸檔分類

一段時間後,你的文件就會被已經完成的事情弄得亂七八糟。Org 模式有一個 歸檔 特性,可以將主 .org 文件移到其他文件中,以備將來參考。如果你在 git 或其他軟體中 有 Org 文件,你可能希望刪除這些其他文件,因為無論如何都會在歷史中擁有這些文件,但是我發現它們對於析取和搜索非常方便。

我會定期檢查並歸檔文件中的所有內容。基於 stackoverflow 的討論 ,我有以下代碼:


(defun org-archive-done-tasks ()

(interactive)

(org-map-entries

(lambda ()

(org-archive-subtree)

(setq org-map-continue-from (outline-previous-heading)))

"/DONE" "file)

(org-map-entries

(lambda ()

(org-archive-subtree)

(setq org-map-continue-from (outline-previous-heading)))

"/CANCELLED" "file)

)

這基於 一個特定的答案 —— 你可以從評論那獲得一些額外的提示。現在你可以運行 M-x org-archive-done-tasks,當前文件中所有標記為 DONE 或 CANCELED 的內容都將放到另一個文件中。


下一篇

我將通過討論在 Org 模式中自動接受郵件以及在不同的機器上同步來對 Org 模式進行總結。



via: https://changelog.complete.org/archives/9877-emacs-3-more-on-org-mode

作者: John Goerzen 選題: lujun9972 譯者: oneforalone 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


點擊「了解更多」可訪問文內鏈接

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux技術 的精彩文章:

如何在 Linux 中為每個屏幕設置不同的壁紙
如何在 Linux 上對驅動器進行分區和格式化

TAG:Linux技術 |