去年,我为您带来了 19 天全新的(对您而言)2019 年效率工具。今年,我采取了不同的方法:构建一个环境,让您在新的一年中使用您可能已经或尚未使用的工具,从而提高效率。
用 Emacs 做(几乎)所有的事情,第 1 部分
两天前,我分享了我经常同时使用 Vim 和 Emacs,在本系列的 第 16 篇和 第 17 篇中,我解释了如何在 Vim 中完成几乎所有事情。现在,轮到 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 'package-archives '("melpa" . "http://melpa.org/packages/"))
(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
(add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/"))
(package-refresh-contents)
使用 Ctrl+x Ctrl+s 保存文件,使用 Ctrl+x Ctrl+c 退出,然后重启 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 之前将以下行添加到文件中。Emacs 在内部使用 (custom-set-variables 行,您永远不应修改其下的任何内容。以 ;; 开头的行是注释。
;; Set up bbdb
(require 'bbdb)
(bbdb-initialize 'message)
(bbdb-insinuate-message)
(add-hook 'message-setup-hook 'bbdb-insinuate-mail)
;; set up calendar
(require 'calfw)
(require '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 'notmuch)
;; set up mail sending using sendmail
(setq send-mail-function (quote sendmail-send-it))
(setq user-mail-address "myemail@mydomain.com"
user-full-name "My Name")
现在您已准备好使用您的设置启动 Emacs!保存 init.el 文件(Ctrl+x Ctrl+s),退出 Emacs(Ctrl+x Ctrl+c),然后重新启动它。这次启动将花费更长的时间。
在 Emacs 中使用 Notmuch 阅读和编写电子邮件
进入 Emacs 启动画面后,您可以使用 Notmuch 开始阅读您的电子邮件。键入 Meta+x notmuch,您将获得 Notmuch 的 Emacs 界面。

所有粗体类型的项目都是电子邮件视图的链接。您可以使用鼠标单击或在它们之间按 Tab 键并按 Return 或 Enter 键来访问它们。您可以使用搜索栏来
使用与 Notmuch 命令行上使用的语法相同的语法搜索 Notmuch 的数据库。如果您愿意,可以使用 [save] 按钮保存任何搜索以供以后使用,它们将被添加到屏幕顶部的列表中。如果您点击其中一个链接,您将获得相关电子邮件消息的列表。您可以使用箭头键导航列表,并在要阅读的消息上按 Enter 键。按 r 将回复消息,按 f 将转发消息,按 q 将退出当前屏幕。
您可以通过键入 Meta+x compose-mail 来编写新消息。撰写、回复和转发都会调出邮件编写界面。完成电子邮件编写后,按 Ctrl+c Ctrl+c 发送它。如果您决定不想发送它,请按 Ctrl+c Ctrl+k 以终止消息撰写缓冲区(窗口)。
在 Emacs 中使用 BBDB 自动完成电子邮件地址

但是您的地址簿呢?这就是 BBDB 的用武之地。但首先,通过打开命令行并运行以下导出命令,从 abook 导入您的所有地址
abook --convert --outformat vcard --outfile ~/all-my-addresses.vcf --infile ~/.abook/addresses
Emacs 启动后,运行 Meta+x bbdb-vcard-import-file。它将提示您输入要导入的文件名,即 ~/all-my-addresses.vcf。导入完成后,当您撰写消息时,您可以开始键入姓名并使用 Tab 键搜索和自动完成“收件人”字段。BBDB 还会为联系人打开一个缓冲区,以便您可以确保它是正确的联系人。
当您已经从 vdirsyncer 获得每个地址的 vcf. 文件时,为什么要这样做?如果您像我一样,您有很多地址,并且一次处理一个地址会很麻烦。通过这种方式,您可以获取您在 abook 中的所有内容并创建一个大文件。
在 Emacs 中使用 calfw 查看您的日历

最后,您可以使用 Emacs 来查看您的日历。在上面的配置部分中,您安装了 calfw 软件包,并添加了行来告诉它在哪里找到要加载的日历。Calfw 是 Calendar Framework for Emacs 的缩写,它支持多种日历格式。由于我使用 Google 日历,因此这是我放入配置中的链接。您的日历将在启动时自动加载,您可以使用 Ctrl+x+b 命令切换 cfw-calendar 缓冲区来查看它。
Calfw 提供按天、周、两周和月份查看的视图。您可以从日历顶部选择视图,并使用箭头键导航您的日历。不幸的是,calfw 只能查看日历,因此您仍然需要使用像 khal 或 Web 界面之类的工具来添加、删除和修改事件。
这就是您所拥有的:Emacs 中的邮件、日历和地址。明天我将做更多的事情。
3 条评论