【问题标题】:Emacs creates autosave file named ##Emacs 创建名为 ## 的自动保存文件
【发布时间】:2014-06-02 03:30:51
【问题描述】:

我已将 Emacs 配置为将自动保存发送到 /tmp 目录:

(setq backup-directory-alist `((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t)))

但是,当编辑文件 Foo 时,它不是创建 #Foo#,而是创建 ## - 只是两个哈希值。每次我打开一个新文件时,这都会导致警告“Bar has autosave data”,因为 /tmp/## 文件显然模式匹配每个可能的文件名。我假设我将 auto-save-file-name-transforms 变量设置错了;我应该将它设置为什么来创建 /tmp/#Foo# 自动保存? (或者,我还需要改变什么?)

可能的相关信息:

  • Emacs 21.4.1
  • RHEL 5.3 (Tikanga)
  • 我的大部分文件都是由 git 控制的
  • vc-make-backup-files 为 nil(但将其设置为 t 不会改变行为)

【问题讨论】:

  • 我的配置和你的差不多,而且效果很好。我确实注意到您的 Emacs 确实是古老的。 21.4.1 版甚至不再托管在 the GNU FTP site 上,但看起来 21.4 于 2005 年发布。(这可能是因为您的 OS 很古老;RHEL 5.3 was released in 2009。至少升级到5.10!)有没有机会将 Emacs 升级到 24 版,或者至少是 23 版?
  • 不幸的是我无法控制这个盒子上的环境。 :(
  • 其实我不碰auto-save-file-name-transforms。我正在使用它的默认设置,在 Emacs 24.3 上是(("\`/[^/]*:\\([^/]*/\\)*\\([^/]*\\)\\'" "/tmp/\\2" t))。你有改变它的理由吗?我猜这就是问题所在。
  • 因为这是我在网上找到的食谱;我在网上读到它,所以它一定是真的......无论如何,注释掉该行会使自动保存文件具有合理的#Foo# 名称。它们不会放在 /tmp 目录中,但我可以忍受;与备份不同,它们不会永远把事情弄得一团糟。谢谢!
  • 如果你做C-h v temporary-file-directory,它会显示/tmp吗?

标签: emacs autosave backups


【解决方案1】:

你可以使用类似See second section by Amit Patel

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 2022-11-23
    • 1970-01-01
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多