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

#emacs #autocomplete #emacs23

#emacs #автозаполнение #emacs23

Вопрос:

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

Мой файл .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)
  

Спасибо

Комментарии:

1. Я думаю, что есть решение, предложенное в Emacs Wiki . Найдите real-global-auto-complete-mode и посмотрите, работает ли это для вас.

Ответ №1:

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

 (global-auto-complete-mode t)
  

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

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

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

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

Или перепишите его, чтобы везде был AC.

 (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)))
  

Комментарии:

1. Может быть полезно указать, что вам нужно (require 'auto-complete) где-нибудь перед (global-auto-complete-mode t) выполнением.

2. Я обнаружил, что (setq ac-modes '(c -mode sql-mode)) это самый простой способ (и наименее неоднозначный) выполнить то, что я хотел.

3. Ни одна из этих опций не работает у меня в emacs 24.3.1 на Ubuntu x86. Я вижу, что статус в modeline ( AC ), но ни одна из функций AC не работает, и я знаю, что они работают, потому что я включал его вручную с помощью M-x auto-complete-mode . То, что сработало для меня, было в emacs.stackexchange.com/questions/18982 /…

4. Как я мог бы назначить привязку ключа для auto-complete-mode-maybe ? @desudesudesu

Ответ №2:

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

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

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

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

Комментарии:

1. Пожалуйста, обратите внимание, что даже с этой настройкой режим переменного тока не будет включен для каждого режима. Например, режим AC не будет работать в режиме ReST без перезаписи auto-complete-mode-maybe () , подобной принятому ответу.

2. Должен ли я нажимать TAB? @Фрэнк Хенард