#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? @Фрэнк Хенард