カスタマイズバッファでは、‘[State]’ボタンから‘Save for
Future Sessions’を選択することで、カスタマイズ設定を保存できます。C-x C-s (Custom-save) コマンド、またはカスタマイズバッファ上部の‘[Apply and
Save]’ボタンを使用すると、バッファ内の該当するすべての設定が保存されます。
ファイルを(通常は初期化ファイル。Emacs初期化ファイルを参照)にコードを書き込むことで、設定を保存できます。次回以降のEmacsセッションでは、起動時にこのファイルが自動的に読み込まれ、カスタマイズ設定が再度適用されます。
カスタマイズ内容を初期化ファイル以外の場所に保存することも可能です。これを実現するには、初期化ファイルに数行のコードを追加し、変数 custom-file に目的のファイル名を設定して、そのファイルを読み込む必要があります。例えば:
(setq custom-file "~/.config/emacs-custom.el") (load custom-file)
次のように、Emacsのバージョンごとに異なるカスタマイズファイルを指定することも可能です。
(cond ((< emacs-major-version 28)
;; Emacs 27 customization.
(setq custom-file "~/.config/custom-27.el"))
((and (= emacs-major-version 26)
(< emacs-minor-version 3))
;; Emacs 26 customization, before version 26.3.
(setq custom-file "~/.config/custom-26.el"))
(t
;; Emacs version 28.1 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)