Как получить автозаполнение в Emacs для автоматического запуска завершения и нажатием кнопки - PullRequest
2 голосов
/ 13 февраля 2010

Я использую elisp с автозаполнением для emacs. В настоящее время я использую его, нажимая M-TAB, но мне бы хотелось, чтобы он также автоматически заполнялся после 4 символов.

Я использую yasnippet в качестве источника для автозаполнения, поэтому, если я установлю его для автозаполнения после 4 символов, он не будет показывать завершения, как если бы, для, inc, main.

Если я сразу установлю автозаполнение, это помешает набрать текст.

Если я установлю привязку ключа и сообщу, что автозаполнение начинается после 4 символов, оно игнорирует привязки клавиш и не запускает завершение

(setq ac-auto-start 4)
(define-key ac-mode-map (kbd "M-TAB") 'auto-complete)

Я бы хотел, чтобы он завершился, когда я нажимаю M-TAB или после 4 символов.

EDIT: Я пытался

(setq ac-auto-start 4)
(global-set-key (kbd "M-TAB") 'ac-start)

У меня также есть

(global-auto-complete-mode t)

Это все еще не сработало. когда я нажимаю M-TAB, в минибуфере отображается «Ничего не завершено».

1 Ответ

1 голос
/ 13 февраля 2010

«ac-mode-map» определяется только тогда, когда автоматически появляется всплывающее окно, поэтому ваш «define-key» выше не будет работать. Возможно, вместо этого используйте «global-set-key».

Кроме того, я считаю, что вам нужно привязать его к "ac-start", а не к "auto-complete".

В итоге попробуйте следующее:

(setq ac-auto-start 4)
(global-set-key (kbd "M-TAB") 'ac-start)
...