コマンドM-x recover-file RET file RETにより、auto-saveファイルの内容を使って、失われたデータを復旧できます。これはfileをvisitして、(確認を求めた後で)auto-saveファイル#file#の内容をリストアします。その後C-x C-sで復旧したテキストを、file自身に保存できます。たとえばファイルfoo.cを、そのauto-saveファイル#foo.c#で復旧するには、以下のようにします:
M-x recover-file RET foo.c RET yes RET C-x C-s
M-x recover-fileは確認を求める前に、指定したファイルとauto-saveファイルのあるディレクトリー一覧を表示するので、ファイルのサイズや日付を確認できます。auto-saveの方が古い場合、M-x recover-fileはそれを読み込むように提案しません。
M-x recover-fileが確認を求めた際にdiffまたは=と答えると、fileとauto-saveファイル#file#のdiffを表示してから再度確認を求めます。
Emacsまたはコンピューターがクラッシュしたとき、M-x recover-sessionコマンドで編集していたすべてのファイルを、それらのauto-saveファイルで復旧できます。これは最初に中断されたセッションの記録された一覧を表示します。ポイントを移動して選択してから、C-c C-cをタイプします。
recover-session
は、そのセッションの間に編集されていた各ファイルについて、ファイルを復旧するか尋ねます。yと応えるとrecover-file
を呼び出し、通常の方法で復旧を行います。これは元のファイルとauto-saveファイルの日付を表示して、ファイルの復旧を行うかもう1度尋ねます。
recover-session
が完了すると、復旧を選択したファイルがEmacsバッファーに表示されます。実際にファイル自体を
更新するためには、これらを保存するのが唯一の方法です。
Emacsは中断されたセッションについての情報を、ディレクトリー~/.emacs.d/auto-save-list/の、.saves-pid-hostname~という名前のファイルに記録します。auto-save-list-file-prefix
をnil
にセットすると、復旧用にセッションが記録されなくなります。