Linux中國

使用 Emacs 發送電子郵件和檢查日曆

去年,我給你們帶來了 2019 年的 19 天新生產力工具系列。今年,我將採取一種不同的方式:建立一個新的環境,讓你使用已用或未用的工具來在新的一年裡變得更有效率。

使用 Emacs 做(幾乎)所有的事情,第 1 部分

兩天前,我曾經說過我經常使用 VimEmacs,在本系列的 1617 天,我講解了如何在 Vim 中做幾乎所有的事情。現在,Emacs 的時間到了!

![Emacs 中的郵件和日曆](/data/attachment/album/202002/26/103814gf7quq3sm2s8fl73.png "Mail and calendar in Emacs")

在深入之前,我需要說明兩件事。首先,我這裡使用默認的 Emacs 配置,而不是我之前寫過Spacemacs。為什麼呢?因為這樣一來我使用的就是默認快捷鍵,從而使你可以參考文檔,而不必將「原生的 Emacs」 轉換為 Spacemacs。第二,在本系列文章中我沒有對 Org 模式進行任何設置。Org 模式本身幾乎可以自成一個完整的系列,它非常強大,但是設置可能非常複雜。

配置 Emacs

配置 Emacs 比配置 Vim 稍微複雜一些,但以我之見,從長遠來看,這樣做是值得的。首先我們創建一個配置文件,並在 Emacs 中打開它:

mkdir ~/.emacs.d
emacs ~/.emacs.d/init.el

接下來,向內置的包管理器添加一些額外的包源。在 init.el 中添加以下內容:

(package-initialize)
(add-to-list &apos;package-archives &apos;("melpa" . "<http://melpa.org/packages/>"))
(add-to-list &apos;package-archives &apos;("org" . "<http://orgmode.org/elpa/>") t)
(add-to-list &apos;package-archives &apos;("gnu" . "<https://elpa.gnu.org/packages/>"))
(package-refresh-contents)

使用 Ctrl+x Ctrl+s 保存文件,然後按下 Ctrl+x Ctrl+c 退出,再重啟 Emacs。Emacs 會在啟動時下載所有的插件包列表,之後你就可以使用內置的包管理器安裝插件了。輸入 Meta+x 會彈出命令提示符(大多數鍵盤上 Meta 鍵就是的 Alt 鍵,而在 MacOS 上則是 Option)。在命令提示符下輸入 package-list-packages 就會顯示可以安裝的包列表。遍歷該列表並使用 i 鍵選擇以下包:

bbdb
bbdb-vcard
calfw
calfw-ical
notmuch

選好軟體包後按 x 安裝它們。根據你的網路連接情況,這可能需要一段時間。你也許會看到一些編譯錯誤,但是可以忽略它們。安裝完成後,使用組合鍵 Ctrl+x Ctrl+f 打開 ~/.emacs.d/init.el,並在 (package-refresh-packages) 之後、 (custom-set-variables 之前添加以下行到文件中。 (custom-set-variables 行由 Emacs 內部維護,你永遠不應該修改它之後的任何內容。以 ;; 開頭的行則是注釋。

;; Set up bbdb
(require &apos;bbdb)
(bbdb-initialize &apos;message)
(bbdb-insinuate-message)
(add-hook &apos;message-setup-hook &apos;bbdb-insinuate-mail)
;; set up calendar
(require &apos;calfw)
(require &apos;calfw-ical)
;; Set this to the URL of your calendar. Google users will use
;; the Secret Address in iCalendar Format from the calendar settings
(cfw:open-ical-calendar "<https://path/to/my/ics/file.ics>")
;; Set up notmuch
(require &apos;notmuch)
;; set up mail sending using sendmail
(setq send-mail-function (quote sendmail-send-it))
(setq user-mail-address "[myemail@mydomain.com][9]"
      user-full-name "My Name")

現在,你已經準備好使用自己的配置啟動 Emacs 了!保存 init.el 文件(Ctrl+x Ctrl+s),退出 Emacs(Ctrl+x Ctrl+c),然後重啟之。這次重啟要多花些時間。

使用 Notmuch 在 Emacs 中讀寫電子郵件

一旦你看到了 Emacs 啟動屏幕,你就可以使用 Notmuch 來閱讀電子郵件了。鍵入 Meta+x notmuch,你將看到 notmuch 的 Emacs 界面。

![使用 notmuch 閱讀郵件](/data/attachment/album/202002/26/103829rz5jk460g9j57wlg.png "Reading mail with Notmuch")

所有加粗的項目都是指向電子郵件視圖的鏈接。你可以通過點擊滑鼠或者使用 tab 鍵在它們之間跳轉並按回車來訪問它們。你可以使用搜索欄來搜索 Notmuch 的資料庫,語法與 Notmuch 命令行上的語法 相同。如果你願意,還可以使用 [save] 按鈕保存搜索以便未來使用,這些搜索會被添加到屏幕頂部的列表中。如果你進入一個鏈接就會看到一個相關電子郵件的列表。你可以使用箭頭鍵在列表中導航,並在要讀取的消息上按回車。按 r 可以回復一條消息,f 轉發該消息,q 退出當前屏幕。

你可以通過鍵入 Meta+x compose-mail 來編寫新消息。撰寫、回復和轉發都將打開編寫郵件的界面。寫完郵件後,按 Ctrl+c Ctrl+c 發送。如果你決定不發送它,按 Ctrl+c Ctrl+k 關閉消息撰寫緩衝區(窗口)。

使用 BBDB 在 Emacs 中自動補完電子郵件地址

![在消息中使用 BBDB 地址](/data/attachment/album/202002/26/103853c52a4iqnnnerr27a.png "Composing a message with BBDB addressing")

那麼通訊錄怎麼辦?這就是 BBDB 發揮作用的地方。但首先我們需要從 abook 導入所有地址,方法是打開命令行並運行以下導出命令:

abook --convert --outformat vcard --outfile ~/all-my-addresses.vcf --infile ~/.abook/addresses

Emacs 啟動後,運行 Meta+x bbdb-vcard-import-file。它將提示你輸入要導入的文件名,即 ~/all-my-address.vcf。導入完成後,在編寫消息時,可以開始輸入名稱並使用 Tab 搜索和自動完成 「to」 欄位的內容。BBDB 還會打開一個聯繫人緩衝區,以便你確保它是正確的。

既然在 vdirsyncer 中已經為每個地址都生成了對應的 .vcf 文件了,為什麼我們還要這樣做呢?如果你像我一樣,有許多地址,一次處理一個地址是很麻煩的。這樣做,你就可以把所有的東西都放在 abook 里,做成一個大文件。

使用 calfw 在 Emacs 中瀏覽日曆

![calfw 日曆 ](/data/attachment/album/202002/26/103952x9n0pun5gg5ginn5.png "calfw calendar")

最後,你可以使用 Emacs 查看日曆。在上面的配置中,你安裝了 calfw 包,並添加了一些行來告訴它在哪裡可以找到要載入的日曆。Calfw 是 「 Emacs 日曆框架 Calendar Framework for Emacs 」的簡稱,它支持多種日曆格式。我使用的是谷歌日曆,這也是我放在配置中的鏈接。日曆將在啟動時自動載入,你可以通過 Ctrl+x+b 命令切換到 cfw-calendar 緩衝區來查看日曆。

Calfw 提供日、周、雙周和月視圖。你可以在日曆頂部選擇視圖,並使用箭頭鍵導航日曆。不幸的是,calfw 只能查看日曆,所以你仍然需要使用 khal 之類的工具或通過 web 界面來添加、刪除和修改事件。

這就是 Emacs 中的郵件、日曆和郵件地址。明天我會展示更多。

via: https://opensource.com/article/20/1/emacs-mail-calendar

作者:Kevin Sonney 選題:lujun9972 譯者:lujun9972 校對: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中國