EasyPG

EasyPG把用gnupg加密解密的过程集成的Emacs里面,CVS版Emacs自带EasyPG,如果是Emacs 22的话,要自己到http://www.easypg.org/下载。

使用EasyPG很简单,只需在.emacs里添加如下语句:

(require 'epa)

如果是单独下载的EasyPG,还需要添加一条:

(require 'epa-setup)

这条语句的主要目的就是调用(epa-file-enable)使得Emacs遇到后缀名为gpg的文件会自动解密。

如果希望使用minibuffer输入passphrase,而不是弹出对话框的话,可以将环境变量GPG_AGENT_INFO清空。

(setenv "GPG_AGENT_INFO" nil)

然后我们就可以在Emacs里面直接使用加密文件了,比如使用加密过的bbdb文件数据库:

(require 'bbdb)
(setq bbdb-file "~/bbdb.gpg")

参考文章:

Customization tips for emacs daemon

使用Emacs daemon使得配置变得更加复杂了,因为在启动daemon的时候,没有任何X Frame生成,某些对X Frame的定制代码可能出错,比如:

(setq x-select-enable-clipboard t)

这段代码一定要在X Frame生成之后运行,解决方法是把定制添加到after-make-frame-functions这个hook里面。

(add-hook 'after-make-frame-functions
          (lambda (frame)
            (with-selected-frame frame
              (when window-system
                (scroll-bar-mode -1)
                (setq x-select-enable-clipboard t)))))