Хех, получается, что вы получите одинаковые варианты завершения, независимо от того, включена ли у вас ido-everywhere
.
Нет встроенного способа сделать то, что вы хотите.ido-mode
предоставляет только перехватчики для возможности переопределения независимо от того, переходит ли поведение find-file
на ido
или нет.read-buffer
в настоящее время всегда переопределяется на ido-everywhere
.
К счастью, маленький Eiscs lisp может получить то, что вы хотите:
(put 'shell 'ido 'ignore)
(defadvice ido-read-buffer (around ido-read-buffer-possibly-ignore activate)
"Check to see if use wanted to avoid using ido"
(if (eq (get this-command 'ido) 'ignore)
(let ((read-buffer-function nil))
(run-hook-with-args 'ido-before-fallback-functions 'read-buffer)
(setq ad-return-value (apply 'read-buffer (ad-get-args 0))))
ad-do-it))
И для любого другогоКоманда, которую вы не хотите выполнять, ido-everywhere
для выбора буфера может быть настроена простым добавлением нового выражения в ваш .emacs:
(put 'other-command-i-want-untouched 'ido 'ignore)