我已閱讀eval-after-load vs add-hook。根據頁面,代碼eval-after-load
被執行一次。
另一方面,add-hook
內的代碼每次打開時都會運行該模式的緩衝區。何時使用加載,Emacs加載後評估
好的。但是我怎樣才能找出eval-after-load
區塊或add-hook
區塊內應該有哪些代碼?例如,
(eval-after-load "js2-mode"
'(progn
(js2-basic-offset 2)))
或
(eval-after-load "js2-mode"
'(progn
(defun custom:js2-config()
(js2-basic-offset 2))
(add-hook 'js2-mode-hook 'custom:js2-config)))
我不問js2-basic-offset
。
是否有一個通用規則? 或..每當我使用eval-after-load
,我不得不問?
感謝您的回覆。但是我希望使用'eval-after-load'的主要原因是減少了加載時間。加載後eval中的'setq js2-basic-offset'或'add-hook'是個壞主意? – 1ambda 2014-10-12 14:38:57
@ 1ambda這對於一大段代碼來說是有意義的,但是如果你只設置了一些變量,那麼用'eval-after-load'註冊它們會比直接設置它們花費更長的時間。 – Gilles 2014-10-12 14:44:40