Linux中國

Emacs 系列(一):拋掉一切,投入 Emacs 和 Org 模式的懷抱

我必須承認,在使用了幾十年的 vim 後, 我被 Emacs 吸引了。

長期以來,我一直對如何組織安排事情感到沮喪。我也有用過 GTDZTD 之類的方法,但是像郵件或是大型文件這樣的事務真的很難來組織安排。

我一直在用 Asana 處理任務,用 Evernote 做筆記,用 Thunderbird 處理郵件,把 ikiwiki 和其他的一些項目組合作為個人知識庫,而且還在電腦的歸檔了各種文件。當我的新工作需要將 Slack 也加入進來時,我終於忍無可忍了。

許多 TODO 管理工具與電子郵件集成的很差。當你想做「提醒我在一周內回復這個郵件」之類的事時,很多時候是不可能的,因為這個工具不能以一種能夠輕鬆回復的方式存儲郵件。而這個問題在 Slack 上更為嚴重。

就在那時,我偶然發現了 Carsten Dominik 在 Google Talk 上關於 Org 模式的講話。Carsten 是 Org 模式的作者,即便是這個講話已經有 10 年了,但它仍然很具有參考價值。

我之前有用過 Org 模式,但是每次我都沒有真正的深入研究它, 因為我當時的反應是「一個大綱編輯器?但我需要的是待辦事項列表」。我就這麼錯過了它。但實際上 Org 模式就是我所需要的。

什麼是 Emacs?什麼是 Org 模式?

Emacs 最初是一個文本編輯器,現在依然是一個文本編輯器,而且這種傳統無疑貫穿始終。但是說 Emacs 是個編輯器是很不公平的。

Emacs 更像一個平台或是工具包。你不僅可以用它來編輯源代碼,而且配置 Emacs 本身也是編程,裡面有很多模式。就像編寫一個 Firefox 插件一樣簡單,只要幾行代碼,然後,模式里的操作就改變了。

Org 模式也一樣。確實,它是一個大綱編輯器,但它真正所包含的不止如此。它是一個信息組織平台。它的網站上寫著,「你可以用純文本來記錄你的生活:你可以用 Org 模式來記筆記,處理待辦事項,規劃項目和使用快速有效的純文本系統編寫文檔。」

捕獲

如果你讀過基於 GTD 的生產力指南,那麼他們強調的一件事就是毫不費力地獲取項目。這個想法是,當某件事突然出現在你的腦海里時,把它迅速輸入一個受信任的系統,這樣你就可以繼續做你正在做的事情。Org 模式有一個專門的捕獲系統。我可以在 Emacs 的任何地方按下 C-c c 鍵,它就會空出一個位置來記錄我的筆記。最關鍵的是,自動嵌入到筆記中的鏈接可以鏈接到我按下 C-c c 鍵時正在編輯的那一行。如果我正在編輯文件,它會鏈回到那個文件和我所在的行。如果我正在瀏覽郵件,它就會鏈回到那封郵件(通過郵件的 Message-Id,這樣它就可以在任何一個文件夾中找到郵件)。聊天時也一樣,甚至是當你在另一個 Org 模式中也可也這樣。

這樣我就可以做一個筆記,它會提醒我在一周內回復某封郵件,當我點擊這個筆記中的鏈接時,它會在我的郵件閱讀器中彈出這封郵件 —— 即使我隨後將它從收件箱中存檔。

沒錯,這正是我要找的!

工具套件

一旦你開始使用 Org 模式,很快你就會想將所有的事情都集成到裡面。有可以從網路上捕獲內容的瀏覽器插件,也有多個 Emacs 郵件或新聞閱讀器與之集成,ERC(IRC 客戶端)也不錯。所以我將自己從 Thunderbird 和 mairix + mutt (用於郵件歸檔)換到了 mu4e,從 xchat + slack 換到了 ERC。

你可能不明白,我喜歡這些基於 Emacs 的工具,而不是具有相同功能的單獨的工具。

一個小花絮:我又在使用離線 IMAP 了!我甚至在很久以前就用過 GNUS。

用一個 Emacs 進程來管理

我以前也經常使用 Emacs,那時,Emacs 是一個「大」的程序(現在顯示電源狀態的小程序佔用的內存要比 Emacs 多)。當時存在在啟動時間過長的問題,但是現在已經有連接到一個正在運行的 Emacs 進程的解決方法。

我喜歡用 Mod-p(一個 xmonaddzen 菜單欄的快捷方式,但是在大多數傳統的桌面環境中該功能的快捷鍵是 Alt-F2)來啟動程序(LCTT 譯註:xmonad 是一種平鋪桌面;dzen 是 X11 窗口下管理消息、提醒和菜單的程序)。這個設置在不運行多個 emacs 們 emacsen 時很方便,因為這樣就不會在試圖捕獲另一個打開的文件時出問題。這中方法很簡單:創建一個叫 em 的腳本並將它放到我自己的環境變數中。就像這樣:

#!/bin/bash exec emacsclient -c -a "" "$@"

如果沒有 emacs 進程存在的話,就會創建一個新的 emacs 進程,否則的話就直接使用已存在的進程。這樣做還有一個好處:-nw 之類的參數工作的很好,它實際上就像在 shell 提示符下輸入 emacs 一樣。它很適合用於設置 EDITOR 環境變數。

下一篇

接下來我將討論我的使用情況,並展示以下的配置:

  • Org 模式,包括計算機之間的同步、捕獲、日程和待辦事項、文件、鏈接、關鍵字和標記、各種導出(幻燈片)等。
  • mu4e,用於電子郵件,包括多個賬戶,bbdb 集成
  • ERC,用於 IRC 和即時通訊

via: http://changelog.complete.org/archives/9861-emacs-1-ditching-a-bunch-of-stuff-and-moving-to-emacs-and-org-mode

作者:John Goerzen 譯者:oneforalone 校對:wxy

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國