ユーザの誤操作やシステムの障害などによって編集中のバッファが消えたり, Emacsがキー入力を受け付けなくなってしまうことがあります. そのような場合に備えて,Emacsでは編集前や編集中のファイルを 自動的に保存しています.
編集したファイルを保存するとき,編集開始前のファイル内容はファイル名の
後に`~
'をつけて保存されます.
例えば,`assignment.txt'という名前のファ
イルをEmacsで編集してから保存すると,
`assignment.txt'の他に編集前の内容が
`assignment.txt~
'という名前で,
同じディレクトリに保存されます.
編集内容を戻したい場合は,取り消し機能()
を利用する他に,`~
'のついたファイル
をバッファにC-x C-fで読み込み,
C-x C-wでファイル名を指定しなおしてから保存します.
~
'のついたファイルには編集開始時点での内容が保存されます.
前回セーブした時点での内容が保存されているわけではないので
注意してください.
Emacsは,定期的にバックアップとして編集中のファイルも保存しています. このときのファイル名は,ファイル名の前後に`#'を つけた名前が使われます.このファイルを``リカバーファイル''といいます. このファイルは,C-x C-sなどによって,バッファの内容 がファイルにセーブされた時点で削除されます.
リカバーファイルから編集を復帰させるには, M-x recover-fileと入力します. エコーエリアに次のように表示されます.
ここで復帰させたいファイルを指定して,<ENTER>を押します.
例えば,`#UNIX.txt#'をもとに
`UNIX.txt'を復帰させたいときには,
`UNIX.txt'と入力します.
<ENTER>を押すと,
図2.5のように,
`#UNIX.txt#'をもとに`UNIX.txt'を
復帰させてよいか確認されるので,
yesと答えると,ファイルをバッファ上に復帰できます.
`#'がついたファイルは,内容をそのまま記載したものでは ないので, ファイル名を mvコマンド() でもとのファイル名に変更してもファイルは 復帰できないので注意してください.
~
'のついた
ファイルやリカバリーファイル(`#'のついたファイル)は不要にな
るので,適宜削除してください.
CNS
では,`#'ではじまるファイルは3日間たつと
自動的に消去されます.