У меня есть файл конфигурации Emacs whatever.el
:Почему режим не включен?
(abbrev-mode +1)
(provide 'whatever)
и в моем init.el
:
(require 'whatever)
, но когда я начала Emacs, abbrev-mode
не включен. Зачем ?
спасибо
У меня есть файл конфигурации Emacs whatever.el
:Почему режим не включен?
(abbrev-mode +1)
(provide 'whatever)
и в моем init.el
:
(require 'whatever)
, но когда я начала Emacs, abbrev-mode
не включен. Зачем ?
спасибо
Цитируя http://emacswiki.org/emacs/AbbrevMode:
Вы также можете поместить следующее в файл ~/.emacs файл, если вы хотите его всегда:
(setq default-abbrev-mode t)
Если вы только хотите дальше в тексте и полученные режимы, вы могли бы сделать что-то вроде этого:
(add-hook 'text-mode-hook (lambda() (abbrev-mode 1)))
F или несколько режимов, использовать что-то вроде следующего:
(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 в буфере, который будет текущим во время оценки ~/.emacs
(обычно царапины), но не в последующих буферах.
Я не думаю, что я когда-либо видел '+', как это, но я вижу, что это действительно (если избыточно :) – phils
Я узнал его, прочитав код с http://github.com/bbatsov/prelude i найти его очень читаемым, активируя с помощью '+ 1' и деактивируя« -1 » – jney