Emacsのクラッシュでファイルを復元

ファイルを編集中に、EmacsやOSがクラッシュした場合、編集中のファイルは保存されずに、途中までの作業をまた行う必要があります。Windows Officeのソフトでは、編集中だったファイルを復元する機能が備わっています。Ofiiceソフト同様にEmacsでもクラッシュに備えて編集中のファイルを復元する機能が備わっています。

auto-save-modeで自動保存

急なクラッシュが発生しても、ファイルを復元できるようにするためには、ファイルを常に保存し続ける必要があります。Emacsのプラグインとして、実際にファイルを上書き保存するelispも存在しますが、復元用のファイルとして保存し続ける機能を使うのが一般的です。

復元用にファイルを常時保存するには、auto-save-modeというマイナーモードを使います。auto-save-modeは意図的に機能を停止しない限り、デフォルトで起動するようになっています。

auto-save-modeによる自動保存は 、編集中のファイルを上書き保存するものではなく、復元用として、別名のファイルとして保存します。ファイル名は、バッファ名を#で囲ったファイル名として保存され、編集中のファイルを保存して終了すれば、このファイルも削除されます。

ファイルの復元

Emacsがクラッシュした場合、auto-save-modeで自動保存されたファイルから復元しましょう。復元方法は次のコマンドを入力します。

M-x recover-file RET 復元したいファイル RET

復元したいファイルには#で始まるファイルを指定するのではなく、編集中だったファイルを指定してください。

ノートパソコンなどを使って、頻繁にクラッシュする可能性がある方は、復元の方法をしっかりと覚えておいた方が、効率的に作業を進めることができます。筆者は、復元用のファイルを自動保存するのでなく、自動で編集中のファイルを上書き保存するようにしています。筆者が使っているパソコンは、Vistaのノートパソコンで、スリープに入ると、高い可能性でクラッシュを起こすので、いっそ自動保存をする設定にしたのです。