4.3. 高度な使い方

vine-default での設定を上書きしたい場合はフックを使います。

例えば、vine-default で set-frame-font には次のように「Monospace 12」が設定されていたとします。

(if window-system 
    (set-frame-font "Monospace 12"))

これを ~/.emacs.el で変更したい場合は after-vine-default-setup-hook をフックしてください。

(add-hook 'after-vine-default-setup-hook
	  (lambda ()
	    (if window-system 
		(set-frame-font "Monospace 10"))))

上記はあくまで一例として紹介しましたが、 フォントの設定を変更したい方は、現実的には、 vine-default-faces 自体を使わないと思われますので、~/.emacs.el

(setq vine-default-faces nil)
(unless vine-default-faces
    (if window-system (set-frame-font "DejaVu Sans Mono 10")))

のように、 vine-default-faces を無効にしておいてフォントの設定をしても良いです。

また、各 vine-default で設定されていない項目についてはフックせずに、 そのまま ~/.emacs.el に記述しても有効です。

vine-default で何が設定されているのかをよく理解していない場合は、 とりあえず after-vine-default-setup-hook へフックしてしまっても問題ありません。

そのため、別のファイル .emacs-misc.el にまとめてしまい、 以下のようにして ~/.emacs.el でフックして読み込ませてしまっても良いです。

(add-hook 'after-vine-default-setup-hook
	  (lambda ()
	    (load (expand-file-name "~/.emacs.misc.el") nil t nil)
	    ))

この仕組みの詳細については 「vine-default の下での ~/.emacs.el の設定」を参照してください。