Next: , Previous: , Up: Easy Customization   [Contents][Index]


49.1.4 カスタマイズの保存

カスタマイズバッファーでは、カスタマイズしたセッティングの‘[State]’ボタンで‘Save for Future Sessions’を選択することにより、それを保存(save)できます。C-x C-s (Custom-save)コマンド、またはカスタマイズバッファーのトップにある‘[Apply and Save]’ボタンで、そのバッファー内で適用可能なすべてのセッティングが保存されます。

ファイル(通常は初期化ファイル。Init Fileを参照してください)にコードを書き込むことにより保存は機能します。将来のEmacsセッションは、開始時に自動的にこのファイルを読み込んで、カスタマイズを再びセットします。

初期化ファイル以外の他のファイルにカスタマイズを保存する選択もできます。これが機能するには、変数custom-fileに保存したいファイル名をセットして、そのファイルをロードするコード行を追加しなければなりません。たとえば:

(setq custom-file "~/.config/emacs-custom.el")
(load custom-file)

以下のようにして、Emacsのバージョンごとに違うカスタマイズファイルを指定することさえ可能です:

(cond ((< emacs-major-version 22)
       ;; Emacs 21 customization.
       (setq custom-file "~/.config/custom-21.el"))
      ((and (= emacs-major-version 22)
            (< emacs-minor-version 3))
       ;; Emacs 22 customization, before version 22.3.
       (setq custom-file "~/.config/custom-22.el"))
      (t
       ;; Emacs version 22.3 or later.
       (setq custom-file "~/.config/emacs-custom.el")))

(load custom-file)

Emacsが-qまたは--no-init-fileオプションで呼び出されたときは、カスタマイズを初期化ファイルに保存しません。なぜならそのようなセッションからカスタマイズを保存することにより、初期化ファイルに記述されていた他のすべてのカスタマイズが消されてしまうからです。

将来のセッションのために保存することを選択しなかった場合、そのカスタマイズはEmacsの終了とともに失われてしまうことに注意してください。終了時に保存されていないカスタマイズにたいするメッセージを表示させたい場合は、初期化ファイルに以下を追加してください:

(add-hook 'kill-emacs-query-functions
          'custom-prompt-customize-unsaved-options)