Next: , Previous: , Up: 自動保存-災害にたいする防御   [Contents][Index]


19.6.2 自動保存の制御

ファイルをvisitする度に、そのファイルバッファーの自動保存は、オンになります(バッチモードでは異なります。初期化オプションを参照してください)。この変数のデフォルトはtなので、ファイルをvisitしているバッファーの自動保存は通常、常に行われます。現在のバッファーの自動保存を切り替えるには、M-x auto-save-modeとタイプします。Auto Saveモードはバッファーローカルに動作するマイナーモードです(マイナーモードを参照してください)。

Emacsは最後に自動保存されてから何文字タイプしたかにもとづいて、定期的に自動保存を行います。変数auto-save-intervalは、自動保存と自動保存の間に何文字タイプされたかを指定します。デフォルトは300です。Emacsは小さすぎる値は受け付けません。auto-save-intervalを20より小さな値にカスタマイズした場合、Emacsは20と指定されたかのように振る舞います。

自動保存はタイピングをストップしたときも行われます。デフォルトでは30秒アイドル状態が続くと実行されます。(このときEmacsはガベージコレクションも実行します; Garbage Collection in The Emacs Lisp Reference Manualを参照してください)。この間隔を変更するには、変数auto-save-timeoutをカスタマイズします。実際の実行間隔は、現在のバッファーの大きさに応じて長くなります。これは、自動保存が実感できるほど時間がかかるような大きなバッファーを編集しているときは、それをなるべく無くすようにする狙いです。アイドル状態のときの自動保存は、2つの事を達成します。最初に、端末を少しの間離れるときなどに、すべての作業の保存を保証します。次に、実際にタイプしているときは自動保存を避けます。

auto-save-visited-modeが有効なとき、Emacsはアイドル5秒後に、ファイルをvisitしているバッファーを自動保存するでしょう。アイドル時の間隔は、変数auto-save-visited-intervalでカスタマイズできます。

Emacsは、致命的なエラーが発生したときも自動保存を行います。これには‘kill %emacs’のようなコマンドによるEmacsジョブのkill、電話回線やネットワーク回線の切断が含まれます。

コマンドM-x do-auto-saveにより、明示的に自動保存を行うことができます。