echo Impossible|sed 's/Im/To be /'

March 17, 2017

Org-mode list of features

Org-mode 功能概廓介紹

Org-mode 是 Emacs 上的殺手級應用,slogan 「Your Life in Plain Text」 - 「與文字共舞」, 是的你沒看錯 org mode 就是一個以純文字展現的應用。

Org mode 是個高效率的文字編輯系統,可以用來作筆記,維護 TODO Lists,規劃計畫,文件草稿。它常與 GTD 放在一起討論, 作為 GTD 工作與時間管理上的實踐工具。但其功能遠不止於此,它可以當簡報工具、心智圖、專案管理、繪製表格、試算表、資料庫、 文件加密、文學編程 (Literate programming)、Redmine bugs/issues report 工具、出版、寫 blog (網誌出版系統)。 也正因為它有這麼多的面向,所以初學者非常容易混謠或是只看到片面的現像。

以下以 http://orgmode.org/features.html 內容為主,加上個人觀點的說明:

編輯 - Editing

Org 引用 outline.el 為實作基礎,可便利的在各個標題快速移動,收折標題與內文,方便撰文時以筆記標題式呈現全貌利於思考佈局, 展開看細部的角度來寫作。這功能不僅在寫 code 同時在寫文件上也很方便。

todo folding

圖片來源 Mishadoff Blog - Emacs org-mode use cases, for non-programmers. 這同時是一篇介紹 org-mode 編輯功能的好文章, 推薦初學者服用。

計劃 - Planning

Org 提供 TODO lists 可用來作工作管理及時程計劃。預設有幾個 keyword 如 TODO | DONE。狀態 keywords 可以自行擴充設定。

* 購物清單
** DONE 買午奶
   CLOSED: [2017-03-15 Wed 15:59]
** TODO 買洗衣機
planning

Tasks 可以加標籤 tags 埋屬性 properties 加上時間標籤(期限/結束時間/排程),搭配 GTD 對時間及工作管理上非常好用。 GTD 可以大大改善工作效率,真心推薦。實作可參考以下文章。

todo statistics

計時 - Clocking

我並沒有使用這個功能,主因是沒有計算工時的需求。它主要的概念是針對各別的 Task 作 clocking in 及 clocking out, 由 in/out 的時間差來計算工時,其關鍵點在於累加統計以及產生漂亮的報表。

clocking

行程表 - Agendas

當有數千個工作項 tasks 時,只要將工作即期的時間排定,Agendas 能讓使用者很輕易的專注在未來即將發生的事件而能預先準備, 作到提醒的功能。預設的 Agendas 可以將 scheduled 及 deadline 的工作以週間的方式呈現。Agenda 可依個人喜好客制化, 以每天/每月/針對 TODO 的關鍵字/針對 tag 等等呈現。這個特色可以讓 Agenda 無痕的融入您的工作流程中。

agenda

個人的實際經驗,工作上鎖碎的雜事很多,如果同時間也在籌辦大型活動,每日超過百封的信件及同時間上千個待辦事項在排隊等著處理時, 這個情況十分可怕,身處在其間的人很有可能快要精神錯亂。這個時候就非常需要導入一個工作流程如 GTD。 Agenda 在這個流程中可以妥善的幫忙當守門人,防止掉球的事情發生。非常有用真心推薦。

Capturing - 快照?? 速記?? 速寫??

沒能找到較好的中文翻譯。Capturing 的動作主要事先建立個人專屬的 TODO 模版 (templates),當有好的點子或新的工作項目, 快速喚起 Capture 把事情先寫下來,然後回神到目前的工作上。避免臨時出現的雜事/念,干擾工作,而快速的把事情記下來等 待工作告一段落後有空時在整理,依分類、優先權重、緊急來分批處理。

capture

表格與試算表 - Tables

Org 的表格功能超級直覺好用,有一陣子我還特別會用 Orgtbl-mode 在 reStructuredText 上繪製表格, 後來乾脆就直接用 org-mode 匯出成 reST 使用。如要用一分鐘來介紹 org-mode ,我會只介紹 tables 及 outline 這兩個神奇的功能。

此外表格可由 .csv .tsv 匯入產生,表格還可以加上試算表的功能,計算的語法可用 Calc Emacs Package 或是 Emacs lisp code。

tables

匯出 - Exporting

匯出格式官方支援的有 HTML, LATEX, ODT(OpenDocument 格式),也提供 backends 的接口方便其它開發轉換成其它格式。 例如 Org2OPML (mindmaps 心智圖),列入官方的 Markdown exportOx-Rst (reStructuredText),Org-Reveal (Reveal.js), org-ioslide (Google I/O HTML5 slide) 等等。

export

文件內嵌程式碼 - Working with source code

Org 讓文學編程 (literate programming) 變的很容易且自然。程式片段可以很輕易置入於文件中, 編輯程式時又可以在一區隔開的 Org buffer 進行,語法高亮、縮排、字串補齊等方便 coding 的能力完完全全延用您 Emacs 的設定, 執行的結果也可附註於檔案內。

整體呈現的觀感與 jupyter/ipython notebook 很相近,較大的差異是 jupyter 呈現在 browser 上,而 org-mode 則呈現在 Emacs 裏。

babel

Posted by Lloyd Huang in on March 17, 2017