我目前有:
(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