Подтвердить что ты не робот

Emacs автоматически заполняется

так как я не могу заставить CEDET работать для автоматического завершения кода (aka intelli-sense в MS-мире), после нескольких попыток (нет, он просто не работает!), я решил используйте auto-complete, который работает "отлично" для меня.

К сожалению, auto-complete имеет раздражающее поведение, когда дело доходит до выхода imenu с его предложениями.

  • auto-complete запускает imenu, независимо от того, сколько у него предложений. Итак, если есть только одно предложение, появится меню. 1.
  • Чтобы выйти из imenu, я должен использовать клавиши LEFT или RIGHT, чтобы меню исчезло. ESC-ESC-ESC не имеет никакого эффекта.

Есть ли способ изменить эти два поведения?

Здесь выдержка из моего файла .emacs, показывающего соответствующий материал auto-complete:

(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(ac-config-default)
(setq ac-delay 0.5) ;; eclipse uses 500ms

С уважением, mefiX

4b9b3361

Ответ 1

"Остановить автозаполнение" можно установить, добавив следующее в ваш .emacs:

(define-key ac-completing-map "\ESC/" 'ac-stop)

... или, альтернативно, вы можете использовать C-g в качестве команды Emacs StopSomething по умолчанию:)

Как для показа завершения в меню, когда есть только один кандидат, я не совсем уверен, какое другое поведение вам нужно?