Режим автозаполнения Emacs при запуске

Я просто устанавливаю режим автозаполнения, однако каждый раз, когда я запускаю emacs, мне приходится использовать режим автозаполнения M-x. Есть ли способ, чтобы он загружался автоматически?

Мой .emacs выглядит следующим образом:

;; auto-complete
(add-to-list 'load-path "~/.emacs.d/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)

Спасибо


person w00d    schedule 11.11.2011    source источник
comment
Я думаю, что есть решение, предложенное в Emacs Wiki. Найдите режим реального глобального автозаполнения и посмотрите, подойдет ли он вам.   -  person alexurba    schedule 11.11.2011


Ответы (2)


Я думаю, что вы можете сделать это по-разному. Чтобы включить его глобально, вы должны использовать

(global-auto-complete-mode t)

Но он использует auto-complete-mode-maybe, который включает AC только те, которые перечислены в ac-modes. Вы можете добавить их вручную так же, как это

(add-to-list 'ac-modes 'sql-mode)

Вы можете составить свой собственный список, если хотите, чтобы AC был активен только для нескольких режимов.

(setq ac-modes '(c++-mode sql-mode))

Или перепишите его так, чтобы переменный ток был везде.

(defun auto-complete-mode-maybe ()
  "No maybe for you. Only AC!"
  (auto-complete-mode 1))

отредактировано:

Автозаполнение в минибуфере плохое. Я думаю, что это будет лучше.

(defun auto-complete-mode-maybe ()
  "No maybe for you. Only AC!"
  (unless (minibufferp (current-buffer))
    (auto-complete-mode 1)))
person desudesudesu    schedule 11.11.2011
comment
Может быть полезно указать, что вам нужно (require 'auto-complete) где-то до того, как (global-auto-complete-mode t) будет выполнено. - person William Everett; 18.03.2014
comment
Я обнаружил, что (setq ac-modes '(c++-mode sql-mode)) это самый простой (и наименее двусмысленный) способ добиться того, чего я хотел. - person Mike Vella; 15.04.2014
comment
Ни один из этих вариантов не работает для меня на emacs 24.3.1 на Ubuntu x86. Я вижу, что статус на линии моделей (AC), но ни одна из функций AC не работает, и я знаю, что они работают, потому что раньше я включал их вручную с помощью M-x auto-complete-mode. У меня сработало в emacs.stackexchange.com/questions/18982/ - person Sonny; 03.10.2017
comment
Как я могу назначить привязку клавиш для auto-complete-mode-maybe? @десудесудесу - person alper; 01.08.2018

Мне просто нужно было это:

(require 'auto-complete)
(global-auto-complete-mode t)

добавлен в мой файл .emacs.d/init.el.

Я установил автозаполнение с помощью менеджера пакетов. Я использую Emacs 24.

person Frank Henard    schedule 17.04.2013
comment
Обратите внимание, что даже с этой настройкой режим переменного тока не будет включаться для каждого режима. Например, режим AC не будет работать в режиме ReST без перезаписи auto-complete-mode-maybe (), как принятый ответ. - person xxks-kkk; 19.03.2016
comment
Должен ли я нажать TAB? @Фрэнк Хенард - person alper; 01.08.2018