コマンドM-x recover-file <RET> file <RET>で、 自動保存ファイルの内容から紛失データを復旧できます。 このコマンドは、fileを訪問してから、 (確認したあとで)その自動保存ファイル#file# から内容を回復します。 そのあとに、C-x C-sでfileそのものに復旧したテキストを保存します。 たとえば、foo.cの自動保存のファイル#foo.c#から foo.cを復旧するにはつぎのようにします。
M-x recover-file <RET> foo.c <RET> yes <RET> C-x C-s
M-x recover-fileは確認するまえに、 指定したファイルと自動保存ファイルが置かれたディレクトリの一覧を表示するので、 それらのサイズや日付を比較できます。 自動保存ファイルのほうが古いと、 M-x recover-fileはそのファイルを読み込むようには 聞いてきません。
Emacsやコンピュータがクラッシュしても、 コマンドM-x recover-sessionを使えば、 編集中だったすべてのファイルを自動保存ファイルから復旧できます。 このコマンドは、まず、記録されている中断されたセッション一覧を表示します。 希望する箇所へポイントを移動し、C-c C-cと打ちます。
つぎに、 recover-session
はそのセッションで編集中だった
各ファイルについてそのファイルを復旧するか聞いてきます。
yを答えると、recover-file
を呼び出し、
普通のとおりに動作します。
もとのファイルとその自動保存ファイルの日付を表示し、
ファイルを復旧するかどうかをもう一度聞いてきます。
recover-session
が終了すると、
復旧を選んだファイルはEmacsバッファに入っています。
これらのバッファを保存してください。
こうすることで初めてファイルに保存できます。
中断されたセッションは、あとで復旧するために
~/.saves-pid-hostnameというファイルに記録されています。
これらの名前の‘~/.saves’の部分は、
auto-save-list-file-prefix
の値です。
この変数を個人の.emacsファイルで設定すれば、
別の場所にセッション記録を置くことができます。
しかし、同様にrecover-session
も再定義して、
変更した新しい場所を探すようにする必要があります。
個人の.emacsファイルでauto-save-list-file-prefix
に
nil
を設定すると、復旧のためのセッションを記録しません。