我经常使用 emacsclient 来编辑/tmp 中的临时文件,并希望像处理其他文件一样自动创建我的文件的备份副本。我确定有办法做到这一点 - 但怎么做? :)

(我搜索了 Emacs 手册、emacswiki 和 SO,但找不到任何有用的东西)

最佳答案

查看 normal-backup-enable-predicate 函数,它是 backup-enable-predicate 变量的默认值。

由于默认函数的唯一目的是禁止备份各种临时目录中的文件,您可能只想设置一个无条件返回 t 的替换。

(setq backup-enable-predicate (lambda (name) t))

files.el 中的用法向我建议您也可以将此变量设置为 nil 。这在文档中没有说明,所以它可能不可靠,但是 Emacs 中的任何其他库都没有引用该变量,所以它可能没问题(但我仍然建议使用 lambda,因为它在做什么更明显)。

另见 C-hig (elisp) Making Backups RET

不详我实际上并不熟悉 small-temporary-file-directory (请参阅该变量的文档字符串),但 temporary-file-directory 值通常是 /tmp/ ,因此这两种情况通常是相同的。

如果您确实希望保留某些临时目录的默认行为而不是其他临时目录,则应定义原始函数的修改副本:(defun my-backup-enable-predicate ...) 然后是 (setq backup-enable-predicate 'my-backup-enable-predicate)

关于emacs - 如何配置 Emacs 保存临时目录下文件的备份?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22775098/

10-12 17:15