2
Я использую режим abbrev-mode, smex и ido-mode. Как отключить режим abbrev в минибуфере, когда я smex команду?отключить режим abbrev в минибуфере Emacs?
Я использую режим abbrev-mode, smex и ido-mode. Как отключить режим abbrev в минибуфере, когда я smex команду?отключить режим abbrev в минибуфере Emacs?
Этот фрагмент кода отключает аббревиатуру при входе в минибуфер, а затем снова включает его, когда вы его оставляете.
(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.
Спасибо! Но я получаю сообщение об ошибке: http://pastebin.com/NkKGqgRs – incandescentman
Мммм, лямбда мешает. Вы можете исправить это, изменив строку 'if' в этой функции на' (if (string-match «smex-» (формат «% s» this-command)). – juanleon
Отлично! И как отключить abbrev- режим для ido-режима? Когда я пытаюсь сохранить файл, например, он все еще расширяет мои аббревиатуры в именах файлов. – incandescentman