Emacs 有一大堆自动保存的文件,之前我就介绍过如何重定向 .emacs.desktop 文件的存储路径,事实上,我们还有很多其它文件需要重定向保存路径。否则,对于这些文件来说,在多台电脑之间同步 Emacs 配置文件,一来实在没有同步这些文件的必要,二来存在潜在文件冲突、混淆的可能性。

比如说,因为我的 Emacs 配置,我有 .ido.last.recentf 以及 .emacs-places 这几个文件会自动生成到 Emacs 的 Home 目录。因为这些文件是跟特定的机器有关,也就没有用 Dropbox 来同步的必要了。

我们可以通过下面的方法来设置这些文件的存储路径,从而让 Dropbox 不同步这些文件。

设置 .recentf 文件的保存路径

对于 .recentf 文件,可以用下面的代码,来设置固定的存储路径:

<pre>

;; set recent open files (requirerecentf) (recentf-mode t) (setq recentf-save-file “E:/water/.recentf”)

设置 .ido.last 文件的相关属性

对于 .ido.last 文件,可以用下面的代码来设置相关的属性:

<pre>

(requireido) (ido-mode t) (setq ido-save-directory-list-file “E:/water/ido.last” ido-ignore-buffers ;; ignore these guys ‘("\` “ "^*Mess” "^*Back" ".Completion" "^*Ido" "^*trace" "^*compilation" "^*GTAGS" "^session." "^*"))

<p>
  其中最重要的是设置 <strong>ido-save-directory-list-file</strong> 这个变量。
</p></p>

设置 .emacs-places 文件的存储路径

有关 .emacs-places 这个文件,是由 saveplace.el 这个文件保存出来的,利用下面的代码就可以重置该文件的存储路径:

<pre>

(setq save-place-file “E:/water/.emacs-places”)

备注

要查找以上这些变量的当前值,可以使用 M-x describe-variable RET save-place-file 这样的命令来查询。

<p>
  这样,通过这些清理,用 SVN 或 Dropbox 来同步 Emacs 相关文件,就实现了从内容到形式的统一与方便。
</p></p>