我在auto-complete
中使用Linux中新版本的Emacs(24.3)运行最新版本的elpa
。我在我的Emacs init文件中进行了以下设置。
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
(require 'auto-complete-config)
(setq-default ac-sources
'(
ac-source-filename
ac-source-abbrev
ac-source-dictionary
ac-source-words-in-same-mode-buffers))
(ac-config-default)
如果我开始在缓冲区中输入/home/james/.em
(例如Python缓冲区),我希望自动完成建议:
.emacs
.emacs.d
但它没有显示任何内容。其他文件也会发生同样的事情。
有时我执行会看到建议和/或弹出菜单显示,但有时则不会。
有什么想法?
答案 0 :(得分:4)
ac-config-default
设置不包含ac-source-filename的源列表。通过在setq-default ac-sources
之后调用此函数,您将它们重置为默认值。 auto-complete manual suggests设置模式挂钩,用于设置特定模式的所需源。手册中的示例是
(defun my-ac-emacs-lisp-mode ()
(setq ac-sources '(ac-source-symbols ac-source-words-in-same-mode-buffers)))
(add-hook 'emacs-lisp-mode-hook 'my-ac-emacs-lisp-mode)
将其改编为python-mode应该很容易。或者,您可以通过首先调用它来全局覆盖ac-config-default
设置的设置,即
(require 'auto-complete-config)
(ac-config-default)
(setq-default ac-sources
'(
ac-source-filename
ac-source-abbrev
ac-source-dictionary
ac-source-words-in-same-mode-buffers))
那样setq-default ac-sources
会覆盖ac-config-default
设置的来源,而不是相反。