我正在尝试将自动保存设置为使用./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。
答案 0 :(得分:3)
这是关于锁定文件。有关更多信息,请阅读:
(info "(emacs) Interlocking")
基本上没办法解决它,除非执行一次小的重写并从我读过的内容编译你自己的emacs源。
答案 1 :(得分:2)
您需要的只是(假设autosave-dir
引用的目录存在):
(setq auto-save-file-name-transforms
`((".*" ,autosave-dir t)))
我个人赞成使用标准 tmp 目录进行自动保存:
(setq auto-save-file-name-transforms
`((".*" ,temporary-file-directory t)))