logo
 
cpacer

3.8 オートセーブ

ユーザの誤操作やシステムの障害などによって編集中のバッファが消えたり, Emacsがキー入力を受け付けなくなってしまうことがあります. そのような場合に備えて,Emacsでは編集前や編集中のファイルを 自動的に保存しています.

3.8.1 ファイルのオートセーブ

3.8.1.1 編集前のファイル

編集したファイルを保存するとき,編集開始前のファイル内容はファイル名の 後に`~'をつけて保存されます. 例えば,`assignment.txt'という名前のファ イルをEmacsで編集してから保存すると, `assignment.txt'の他に編集前のファイルが `assignment.txt~'という名前で, 同じディレクトリに保存されます.

編集内容を取り消したい場合などは取り消し機能([*]) を利用する他に,`~'のついたファイル をバッファにC-x C-fで読み込み, 編集開始前の内容に戻してから編集作業をし, C-x C-wでファイル名を指定して保存しなおします.

`~'のついたファイルには``編集開始時点''での内容が保存されます. ``前回セーブした時点''での内容が保存されているわけではないので 注意してください.


3.8.1.2 編集中のファイル

Emacsは,定期的にバックアップとして編集中のファイルを保存しています. このときのファイル名は,ファイル名の前後に`#'を つけた名前が使われます. このファイルは,C-x C-sなどによって,バッファの内容 がファイルにセーブされた時点で削除されます.

3.8.2 リカバーファイルからの復帰 -- (M-x recover-file)

何らかの原因により編集中のバッファが消えてしまったときは, ファイル名の前後に`#'がついたファイルにある程度まで 編集が保存されています.このファイルを``リカバーファイル'' といいます.

リカバーファイルから編集を復帰させるには, M-x recover-fileと入力します. エコーエリアに次のように表示されます.

Recover file: ~/_

ここで復帰させたいファイルを指定して,<RET>を押します.

例えば,`#cns-guide.tex#'をもとに `cns-guide.tex'を復帰させたいときには, `cns-guide.tex'と入力します. <RET>を押すと, 図[*]のように, `#cns-guide.tex#'をもとに`cns-guide.tex'を 復帰させてよいか確認されるので, yesと答えると,ファイルをバッファ上に復帰できます.


図: ファイルの復帰

この際,`#'がついたファイル名を mvコマンド([*]) でもとのファイル名に変更してもファイルは 復帰できないので注意してください.

オートセーブは便利ですが,作業が無事に終了すれば最後に`~'や `#'のついたファイルは不要になるので,適宜削除してください. CNSでは,`#'ではじまるファイルは3日間たつと 自動的に消去されます.