我喜欢emacs,但有些事情一直在唠叨我.当我通过tramp编辑文件时,我似乎无法通过emacs来存储文件的本地备份.
目前,当我编辑本地文件时,一组旧版本存储在/ tmp / myusername / emacs_backup文件夹中.但是,当我通过tramp进行FTP时,旧版本没有存储在那里(我假设它试图远程存储它们?).
这是我的.emacs设置:
(defvar user-temporary-file-directory
(concat "/tmp/" user-login-name "/emacs_backup/"))
(make-directory user-temporary-file-directory t)
(setq make-backup-files t)
(setq backup-by-copying t)
(setq version-control t)
(setq delete-old-versions t)
(setq kept-new-versions 10)
(setq backup-directory-alist `(("." . ,user-temporary-file-directory)))
(setq tramp-backup-directory-alist backup-directory-alist)
(setq tramp-auto-save-directory user-temporary-file-directory)
(setq auto-save-list-file-prefix
(concat user-temporary-file-directory ".auto-saves-"))
(setq auto-save-file-name-transforms
`((".*" ,user-temporary-file-directory t)))
我不在乎tramp su编辑是否也存储在tmp文件夹中 – 我认为越多越好.任何帮助是极大的赞赏!
解决方法:
tramp-backup-directory-alist的文档说
(setq tramp-backup-directory-alist backup-directory-alist)
gives the same backup policy for Tramp files on their hosts like the policy for local files.
我将其解释为备份远程计算机上的tramp文件(“他们的主机”).查看tramp.el中的实现,这也是默认实现(如果未设置tramp-backup-directory-alist,则为backup-directory-alist).
Tramp假定远程文件的备份也应始终是远程的,并且在执行备份之前明确地预先设置方法/用户/主机位.如果你想改变行为,我认为你必须建议tramp-handle-find-backup-file-name调整文件名(因此它是一个有效的本地名称)并与backup-directory中的条目协调 – 一个列表.
FWIW:从长远来看,将备份放在临时文件目录中并没有多大帮助. “临时”有点挫败了备份的目的.