5.3. Emacsが持っているカスタマイズの仕組みを利用する場合

注記

設定ファイル~/.emacs.el ~/.emacs-faces.el ~/.mew.el などに書かれている項目を設定する場合は、設定ファイルを直接編集してください。

Emacs を起動して、M-x customize と入力すると図5.1「EmacsのCustomize画面」のようなカスタマイズの画面になります。

TABキーを押すことで、アンダーラインのある部分、ボタンになっている部分(Set for Current Session や Go to Group など)、文字の入力が可能な部分にカーソルが移動します。Shift+TAB でカーソルが逆方向(上)に移動します。Enterキーで選択、確定です。Finish を選択すると、閉じます。

図5.1 EmacsのCustomize画面

EmacsのCustomize画面

ここで操作して設定した内容は、~/.emacs.el に書き込まれます。

あらかじめ ~/.emacs.el の最後のほうに次のように記述しておくと、設定を書き出す専用のファイルを用意することができます。

;; customize の出力先
(setq custom-file "~/.emacs.my.custom.el")
(if (file-exists-p (expand-file-name "~/.emacs.my.custom.el"))
    (load (expand-file-name custom-file) t nil nil))

~/.emacs.my.custom.el は、用意されていませんので、自分で作成します。

次のようなファイルを作成しておくとよいでしょう。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                       Time-stamp: <>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Time-stamp などはなくてもいいです。空のファイルでもかまいません。

なお、customize は、細分化されていて、M-x customize の他に、M-x customize-face , M-x customize-group , M-x customize-variable などと様々なものがあります。M-x customize と入力して TABキーを押してみるとよいでしょう。

例5.3 Emacs の TAB の幅を設定する

ここでは、M-x customize-variable を利用して TABの幅 を設定してみます。

M-x customize-variable と入力し Enterキーを押します。(TABキーで補完ができます。M-x cus くらいまで入力したら TABキーをおしてみてください。M-x customize となるはずです。さらに -v と入力して TABキーを押すと M-x customize-variable と補完されると思います。)

画面最下部のミニバッファに Customize variable: と表示されたら、tab-width と入力し Enterキーを押します。(これも TABキーで補完が出来ます。)

図5.2「emacsの customize-variable の画面」のように画面が切り替わります。

図5.2 emacsの customize-variable の画面

emacsの customize-variable の画面


TABキーを押して、8 という数字が表示されているところまでカーソルを移動し、C-d で8という文字を削除し、数字を入力します。たとえば 4 とすると、TAB の幅が元の幅の半分になります。

Set for Current Session というボタンのところまで移動し、Enterキーを押すと、一時的に設定を有効にした状態になります。数値は保存されないので、次回起動時には元の値 8 にもどります。

Save for Future Sessions のボタンで Enterキーを押すと、この数値が、設定ファイルに書き込まれて保存され、次回 Emacs を起動した時に利用できるようになります。

Reset のボタンで、入力した数値がもとにもどります。

Reset to Saved のボタンで、前回保存した時の値にもどります。

Erase Customization のボタンで、設定した数値が取り消され、設定ファイルにあった記述も削除されます。

数値を入力し、Set for Current Session のボタンを押してテストして、適当な値になるまで customize を行うという作業を繰り返して、それから Save for Future Sessions で保存するという作業をします。

ここでは、Save for Future Sessions で保存してしまっていいと思います。

保存したら、Finish のボタンをクリックします。M-< でページの先頭まで戻ると早いです。

Save for Future Sessions で保存すると、customize の出力先として設定したファイル(~/.emacs.my.custom.el)に、設定していなければ ~/.emacs.el に次のように書き込まれます。

(custom-set-variables
  ;; custom-set-variables was added by Custom -- don't edit or cut/paste it!
  ;; Your init file should contain only one such instance.
 '(server-switch-hook (quote (raise-frame)))
 '(tab-width 4))
(custom-set-faces
  ;; custom-set-faces was added by Custom -- don't edit or cut/paste it!
  ;; Your init file should contain only one such instance.
 )

don't edit or cut/paste it! と書かれているので、この設定値を変更する時には、直接編集するのではなく M-x customize などを使って再度設定するようにしてください。