当我删除.emacs时,如何从Emacs写.emacs

Ste*_*son 6 emacs

我有Emacs打开但不小心我删除了它启动时读取的.emacs文件.这代表了大约15年的调整.(我知道,我知道,备份.)

有没有办法让Emacs写出我删除的.emacs文件?

我通常不会问这么蹩脚的问题,但我知道在Emacs会议结束之前我只有一天左右.

zev*_*zev 5

如果您打开了Emacs的备份功能,则应该在〜/ .emacs~中有一个倒数第二个.emacs文件的副本.如果是这样,只需将其重命名为".emacs",您将获得.emacs文件,其中包含除最新更改之外的所有内容.即使您当前没有启用备份,您在上一次备份文件中仍可能有大量的.emacs文件.您还应该查看变量"backup-directory-alist"的值 - 它指定在未使用默认(与修改文件相同的目录)时要存储的备份文件的位置.

否则,你的记忆力有多好...... ;-)

编辑:由于您没有.emacs文件的备份,但是您有一个以.emacs文件启动的正在运行的Emacs实例,您可以做的另一件事是保存您在其中定义的所有自定义设置.emacs文件.为此,请执行以下操作:

(setq custom-file "/my/home/directory/.emacs-custom.el")
(custom-save-all)
Run Code Online (Sandbox Code Playgroud)

然后,您可以创建一个新的.emacs文件并向其添加以下行:

(setq custom-file "/my/home/directory/.emacs-custom.el")
(load custom-file)
Run Code Online (Sandbox Code Playgroud)

这至少会恢复.emacs文件中的一些自定义变量设置.

  • 你永远不会在Emacs中编辑.emacs?你怎么编辑它? (4认同)

ajk*_*ajk 5

正如ayckoster建议的那样,您可以尝试像The Sleuth Kit这样文件恢复或取证工具.或者,这可能看起来很疯狂,如果你在类Unix系统上,你可以搜索原始磁盘设备(在我当前使用的Mac上,那将是/ dev/rdisk1).说真的,有几次我懒得打破一个成熟的恢复工具,而是使用类似的东西sudo less -f /dev/rdisk1,搜索我知道在文件中的字符串(global-set-key,任何人?),并成功恢复文件的原始内容.