我有一個emacs的配置文件whatever.el
:爲什麼模式沒有啓用?
(abbrev-mode +1)
(provide 'whatever)
,並在我的:
(require 'whatever)
但是當我啓動Emacs,未啓用abbrev-mode
。爲什麼?
謝謝
我有一個emacs的配置文件whatever.el
:爲什麼模式沒有啓用?
(abbrev-mode +1)
(provide 'whatever)
,並在我的:
(require 'whatever)
但是當我啓動Emacs,未啓用abbrev-mode
。爲什麼?
謝謝
從http://emacswiki.org/emacs/AbbrevMode報價:
你也可以把你的〜/ .emacs文件下面,如果你想它 總是:
(setq default-abbrev-mode t)
如果你只希望它在文本和派生模式,你可以做 這樣的事情:
3210F或多種模式,使用類似以下內容:
(dolist (hook '(erc-mode-hook emacs-lisp-mode-hook text-mode-hook)) (add-hook hook (lambda() (abbrev-mode 1))))
按緩衝區啓用縮寫模式。
一種方法是創建一個鉤子函數,你可以添加到你想用它在
例如主要模式鉤子:
(defun my-enable-abbrev-mode()
(abbrev-mode 1))
(add-hook 'c-mode-hook 'my-enable-abbrev-hook)
(add-hook 'java-mode-hook 'my-enable-abbrev-hook)
另一種方法是使用change-major-mode-hook
。
當別人解釋如何得到你想大概,我只想指出,WRT您的實際問題(「爲什麼?」)時,原因很簡單:abbrev-mode是一個緩衝區本地次要模式,所以當你在啓動時運行(abbrev-mode + 1),它只會在緩衝區中啓用abbrev-mode,在評估~/.emacs
通常爲劃傷),但不在隨後的緩衝區中。
我不認爲我曾經見過這樣使用'',但我看到它是有效的(如果多餘:) – phils
我知道它從http://github.com/bbatsov/prelude讀取代碼發現它非常具有可讀性,用'+ 1'激活並用'-1'去激活 – jney