Next: Backup Deletion, Up: Backup [Contents][Index]
Emacsのバックアップファイル作成では、バックアップの名前は通常、編集されるファイル名の後ろに‘~’をつけて作成されます。したがってeval.cのバックアップファイルは、eval.c~になります。
アクセスコントロールによりEmacsが通常の名前でバックアップファイルを書き込めない場合、~/.emacs.d/%backup%~というバックアップファイルに書き込みます。この1つのファイルしか存在しないので、一番最近作られたバックアップだけが利用可能です。
Emacsは番号つきバックアップファイル(numbered backup files)を作ることもできます。番号つきバックアップファイルの名前は、元のファイル名の後ろに‘.~’と番号と‘~’をつけたものです。したがってeval.cのバックアップファイルは、eval.c.~1~、eval.c.~2~、...、eval.c.~259~、...となります。
変数version-control
は、単一のバックアップファイルを作るか、複数の番号つきバックアップファイルを作るかを決定します。有効な値は以下のとおりです:
nil
すでに番号つきバックアップのあるファイルにたいしては、番号つきバックアップを作ります。それ以外は単独のバックアップをつくります。これがデフォルトです。
t
番号つきバックアップを作ります。
never
番号つきバックアップをつくらず、常に単一のバックアップを作ります。
この変数をセットする通常の方法は、initファイルやcustomizationバッファーを通じて、グローバルにセットする方法です。しかし特定のバッファーにローカルにversion-control
をセットして、そのバッファーのバックアップ作成を制御することができます(Localsを参照してください)。特定のファイルをvisitするとき、常にEmacsにversion-control
をローカルにセットさせることができます(File Variablesを参照してください)。Rmailモードのようないくつかのモードは、この変数をセットします。
さまざまなGNUユーティリティーにたいして、何をすべきか指示する環境変数VERSION_CONTROL
をセットすると、Emacsも開始時にこの環境変数にしたがって、Lisp変数version-control
をセットします。環境変数の値が‘t’または‘numbered’のときは、version-control
はt
になります。値が‘nil’または‘existing’のときは、version-control
はnil
になります。もし‘never’または‘simple’のときは、version-control
はnever
になります。
変数backup-directory-alist
をカスタマイズして、指定したパターンにマッチする特定のファイルにたいして、指定したディレクトリーにバックアップを作成させることができます。この変数は単独、または複数の番号つきバックアップの両方に適用されます。典型的な使い方は、要素("."
.
dir)
を追加することにより、すべてのバックアップを絶対パスdirに作る方法です。異なるディレクトリーにある同じ名前のファイルによる、バックアップファイルの名前の衝突を避けるため、Emacsはバックアップファイルの名前を変更します。("."
.
".~")
を追加すると、これは元のファイルがあるディレクトリーに、非表示の.~というディレクトリーを作って、そこにバックアップを作成します。Emacsはバックアップを作るため、必要ならディレクトリーを作成します。
変数make-backup-file-name-function
に適切なLisp関数をセットすることにより、Emacsがバックアップファイル名を作る通常の方法をオーバーライドできます。