Emacs 系列:讓咱們擁抱 Emacs 和 org 模式

導讀 我必須認可,在使用了幾十年的 vim 後, 我被 Emacs 吸引了。長期以來,我一直對如何組織安排事情感到沮喪。我也有用過 GTD 和 ZTD 之類的方法,可是像郵件或是大型文件這樣的事務真的很難來組織安排。

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

許多 TODO 管理工具與電子郵件集成的不好。當你想作「提醒我在一週內回覆這個郵件」之類的事時,不少時候是不可能的,由於這個工具不能以一種可以輕鬆回覆的方式存儲郵件。而這個問題在 Slack 上更爲嚴重。linux

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

我以前有用過 org 模式,可是每次我都沒有真正的深刻研究它, 由於我當時的反應是「一個大綱編輯器?但我須要的是待辦事項列表」。我就這麼錯過了它。但實際上 org 模式就是我所須要的。編程

什麼是 Emacs?什麼是 org 模式?小程序

Emacs 最初是一個文本編輯器,如今依然是一個文本編輯器,並且這種傳統無疑貫穿始終。可是說 Emacs 是個編輯器是很不公平的。vim

Emacs 更像一個平臺或是工具包。你不只能夠用它來編輯源代碼,並且配置 Emacs 自己也是編程,裏面有不少模式。就像編寫一個 Firefox 插件同樣簡單,只要幾行代碼,而後,模式裏的操做就改變了。瀏覽器

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

捕獲網絡

若是你讀過基於 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(一個 xmonad 中 dzen 菜單欄的快捷方式,可是在大多數傳統的桌面環境中該功能的快捷鍵是 Alt-F2)來啓動程序(LCTT 譯註:xmonad 是一種平鋪桌面;dzen 是 X11 窗口下管理消息、提醒和菜單的程序)。這個設置在不運行多個emacs 們時很方便,由於這樣就不會在試圖捕獲另外一個打開的文件時出問題。這中方法很簡單:建立一個叫 em 的腳本並將它放到我本身的環境變量中。就像這樣:

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

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


 

原文來自: https://www.linuxprobe.com/emacs-org.html

相關文章
相關標籤/搜索