Emacs:更改自动保存文件的位置

Emacs:更改自动保存文件的位置

我目前有:

(setq backup-directory-alist
      `((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
      `((".*" ,temporary-file-directory t)))

在我的 中.emacs,但这似乎并没有改变自动保存文件的保存位置(它改变了备份文件的保存位置。M-x describe-variable显示temporary-file-directory设置为/tmp/,但是当我编辑一个名为 的文件testing.md并且有未保存的更改时,我会在同一目录中得到一个名为 的文件.#testing.md。我怎样才能让该文件放到其他地方(例如/tmp/)?

我没有运气这些建议,欢迎提出任何建议!

如果有帮助的话,我在 GNU Emacs 23.3.1 上运行 Ubuntu。

答案1

这些文件不是自动保存的,而是锁定文件。尝试一下ls -l,你会发现它们是指向虚假文件名的符号链接,而这些文件名实际上是编辑过程的用户名+pid。据我所知,没有办法自定义它。(重点是避免两个不同的用户编辑同一个文件时出现问题——如果其中一个用户更改了锁定文件的位置,他们将不知道彼此的编辑。)另请参阅这个问题

(顺便说一句,/tmp除非您确定您是该机器上唯一的用户,否则使用它来保存备份并不是一个好主意。)

答案2

; auto save path
(defvar autosave-dir (concat "~/auto-save" "/"))
(make-directory autosave-dir t)
(setq auto-save-file-name-transforms
      `(("\\(?:[^/]*/\\)*\\(.*\\)" ,(concat autosave-dir "\\1") t)))

操作系统:win7 版本:emacs 23.4

相关内容