Получение ido для работы со злом в emacs

Я пытаюсь заставить ido работать со злыми ex-командами (например :vsp... или :b...), но он, похоже, не работает автоматически. В настоящее время у меня есть:

(require 'ido)
(setq ido-everywhere t)
(ido-mode t)
(use-package ido-ubiquitous :ensure ido-ubiquitous :demand ido-ubiquitous :init (progn (ido-ubiquitous-mode 1)))

И потом я требую зла:

(use-package evil :ensure evil :config (progn (evil-mode 1) ;; .... ))

В качестве работы я могу использовать такие вещи, как (define-key evil-ex-map "e " 'ido-find-file) и некоторые пользовательские для разделения, но это не идеально. Почему это не работает автоматически?

Я использую графическую версию Emacs 25.0.50.1

1 ответ

от вечно-вездесущего источника:

ido-ubiquitous здесь, чтобы включить завершение ido-стиля для (почти) каждой функции, которая использует стандартную функцию завершения 'complete-read'

Зло использует completion-at-point а не completing-read команд ex. В то время как completion-at-point просто пытается завершить то, что перед курсором, completing-read вызывает собственное приглашение с его собственным поведением. Поскольку зло добавляет свои собственные привязки в ex prompt, использование команд completing-read команд для ex-команд не представляется возможным.

licensed under cc by-sa 3.0 with attribution.