Posted on 28-11-2010
Filed Under (技术) by waterlin

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

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

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

设置 .recentf 文件的保存路径

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

;; 
              set recent open files
(require 'recentf)
(recentf-mode t)
(setq recentf-save-file "E:/water/.recentf")

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

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

(require 'ido)
(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\.*" "^\*"))

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

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

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

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

备注

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

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

© 2010, 浏忙大爆炸. All rights reserved.
除非注明,浏忙大爆炸文章均为原创,转载请以链接形式标明本文地址。

Comments

pt on 29 November, 2010 at 12:07 am #

不错,前段时间也做过这样的调整。
`auto-save-list-file-prefix’
`auto-save-file-name-transforms’
`backup-directory-alist’
`bookmark-default-file’
这些变量楼主都可以设置一下。

[Reply]


易小白 on 14 March, 2012 at 3:25 pm #

您好,使用(setq recentf-save-file “E:/water/.recentf”)将.recentf保存在了别处,但是启动emacs读取时还是读取的HOME目录下的.recentf,请问如何修改读取.recentf的路径呢?

[Reply]


Post a Comment
Name:
Email:
Website:
Comments: