Отключить режим abbrev в минибуфере Emacs?

Я использую abbrev-mode, smex и ido-mode. Как отключить abbrev-mode в минибуфере, когда я делаю команду?

1 ответ

Решение

Этот фрагмент кода отключает аббревиатуру при входе в минибуфер, а затем снова включает его, когда вы покидаете его.

(defun conditionally-disable-abbrev ()
  ""
  (if (string-match "smex-" (format "%s" this-command))
      (abbrev-mode -1)))

(add-hook 'minibuffer-setup-hook 'conditionally-disable-abbrev)
(add-hook 'minibuffer-exit-hook (lambda () (abbrev-mode 1)))

Добавлено исправление от juanleon.

Другие вопросы по тегам