2011-02-07 85 views
6

如果启用桌面功能,则退出并重新进入Emacs时,可以返回到之前打开的一组文件。这似乎并不是一个崩溃恢复功能。Emacs:如何使用保存列表从崩溃恢复缓冲区?

如果Emacs崩溃,则会有一个名为“saved-PID-machine”的保存列表,其中包含具有缓冲区的文件列表。该列表包含文件本身和相应的备份文件的完整路径。

如何使用此保存列表返回到崩溃前的缓冲区中的一组访问文件?没有任何文件编辑处于待处理状态,因此恢复会话和恢复文件不会执行任何操作。

+0

请参阅http://www.emacswiki.org/emacs/DeskTop了解一些定期自动保存桌面的方法。这不能回答这个问题,但这是一个相当不错的解决方法。 – phils 2011-02-07 21:28:19

回答

0

试过M-X恢复会话?

(恢复会话)
从以前的Emacs会话恢复自动保存文件。 该命令首先显示一个Dired缓冲区,显示您可以从中恢复的以前的会话 。 要选择一个,请将点移动到适当的行,然后键入C-c C-c。 然后你会被问到一些要恢复的文件。

+1

朱利安,你正在描述不起作用的方法。如果所有文件都已保存,然后编辑器崩溃(通常不是emacs崩溃),则恢复会话只是说没有任何可恢复的东西,尽管恢复文件有很长的文件列表。看起来恢复会话功能使用附加信息来确定列出的文件是否有未保存的更改。它将恢复对这样的文件的编辑。否则,该功能不会访问该文件。 – 2011-02-21 08:06:02

5

您可以下载并安装https://github.com/tripleee/recover-buffers,它访问自动保存文件中的所有文件,并提供恢复未保存的自动保存数据存在的任何文件。

;;; recover-buffers.el --- revisit all buffers from an auto-save file 
    ;; 
    ;;; Commentary: 
    ;; 
    ;; Works like `recover-session', but attempts to really recover all state 
    ;; back to the way it was when Emacs quit or crashed. Concretely, it 
    ;; revisits all buffers which were open, however skipping any which match 
    ;; an ignore list. 

Emacs也有一个开放的bug, http://debbugs.gnu.org/889

我是该代码的作者,并希望得到任何反馈(尽管不是通过这个公共论坛)。

+0

这是最近搬到https://github.com/tripleee/recover-buffers – 2015-03-10 05:52:35