linux – 设置Emacs Tramp以存储本地备份

我喜欢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:从长远来看,将备份放在临时文件目录中并没有多大帮助. “临时”有点挫败了备份的目的.

上一篇:python-day25_接口类_封装


下一篇:在python源文件中对类定义进行排序的最佳方法是什么?