3

我正在尝试将自动保存设置为使用 ./emacs.d/autosaves 中的目录。我之前使用了下面的两条注释掉的行,目前尝试了我在网上找到的另一个功能。我真正想要的只是不将自动保存存储在同一目录中。它在

(defvar autosave-dir
 (concat "/home/" (user-login-name) "/.emacs.d/autosaves/"))
(make-directory autosave-dir t)
(defun auto-save-file-name-p (filename)
  (string-match "^#.*#$" (file-name-nondirectory filename)))
(defun make-auto-save-file-name ()
  (concat autosave-dir
   (if buffer-file-name
      (concat "#" (file-name-nondirectory buffer-file-name) "#")
    (expand-file-name
     (concat "#%" (buffer-name) "#")))))
;; (setq auto-save-file-name-transforms
;;       `(("#.*#" ,"~/.emacs.d/backups/" t)))

或者我可以设置自动保存以将#notes.org# 放在文件的开头和结尾,因为目前的格式为.#notes.org。

4

2 回答 2

3

这是关于锁定文件。有关更多信息,请阅读:

(info "(emacs) Interlocking")

基本上没有办法解决它,除非执行一个小的重写并从我读过的内容中编译你自己的 emacs 源代码。

于 2012-07-05T11:41:20.233 回答
2

您需要的只是(假设所引用的目录autosave-dir存在):

(setq auto-save-file-name-transforms
      `((".*" ,autosave-dir t)))

我个人喜欢使用标准的tmp目录进行自动保存:

(setq auto-save-file-name-transforms
      `((".*" ,temporary-file-directory t)))
于 2012-07-03T12:09:25.883 回答