回答:
を使用して場所をカスタマイズできbackup-directory-alist
ます。リストの各エントリは、パターンに一致するファイルのバックアップをどこに置くかを示しています。場所がのnil
場合、バックアップは元のディレクトリと同じディレクトリにあります。順序が重要です。最初に一致したものが使用されます。
(setq backup-directory-alist '(("-autoloads\\.el\\'")
("." . "~/.emacs.d/backups")))
ファイル名または場所に基づいてバックアップを完全に抑制したい場合、そのための組み込みメカニズムはないように見えますが、追加するのは簡単です。変数にbackup-enable-predicate
は、ファイルにバックアップが必要かどうかを決定する関数の名前が含まれています。デフォルト設定normal-backup-enable-predicate
では、Emacsが一時ファイルに使用するディレクトリのバックアップのみが禁止されます。ファイル名をチェックする独自の関数を追加することもできます。
(defvar backup-inhibit-file-name-regexp "-autoloads\\.el\\'"
"Files whose full path matches this regular expression will not be backed up.")
(defun regexp-backup-enable-predicate (filename)
"Disable backups for files whose name matches `backup-inhibit-file-name-regexp'.
Also call `normal-backup-enable-predicate'."
(save-match-data
(and (not (string-match backup-inhibit-file-name-regexp filename))
(normal-backup-enable-predicate filename))))
(setq backup-enable-predicate 'regexp-backup-enable-predicate)
この関数がを返したとしてもt
、他のメカニズムがバックアップを無効にする可能性があります。
あなたが特定のメジャーモードでは無効にバックアップしたい場合は、設定make-backup-files
にnil
(おそらく、ファイル名およびその他の特性に基づいて)メジャーモードのセットアップフックに。変数をローカルにすることを忘れないでください。
特定のファイルのバックアップを無効にする別の方法は、を設定することbackup-inhibited
です。この変数は、主要なモード変更後も存続します。これは、VCがバージョン管理下にあるファイルのバックアップを無効にする方法です(のエントリを使用file-find-hook
)。変数をローカルにすることを忘れないでください。