我使用橘子酱回购安装了自动完成.一切安装正确,并在移动的东西后我设法启动并运行自动更正没有任何错误与我的init.el中的以下代码:
;; auto-complete (add-to-list 'load-path "~/.emacs.d/elpa/auto-complete") (require 'auto-complete-config) (add-to-list 'ac-dictionary-directories "~/.emacs.d/elpa/auto-complete/dict") (ac-config-default)
现在我可以使用自动完成而不使用Emacs Lisp,但每当我使用任何其他模式时,如Java,C或C它根本不起作用.
我也安装了yasnippet(它工作得很好),不确定是否与它有任何关系.这是我的init.el中的相关代码:
;;yasnippet (add-to-list 'load-path "~/.emacs.d/plugins/yasnippet") (require 'yasnippet) (yas-global-mode 1)
我正在学习Emacs,目前我还是一个菜鸟.我一直在查看文档和SO,但没有找到任何东西.我真的很感激任何帮助.
解决方法
您可能需要添加完成源.这是我的配置中的内容:
(set-default 'ac-sources '(ac-source-abbrev ac-source-dictionary ac-source-yasnippet ac-source-words-in-buffer ac-source-words-in-same-mode-buffers ac-source-semantic))
更新:ac-config-default应该包含此内容,但如果自动完成没有激活这些模式,请尝试在init.el中添加以下内容:
(dolist (m '(c-mode c++-mode java-mode)) (add-to-list 'ac-modes m)) (global-auto-complete-mode t)
Update2:我发布了一个gist,它使你的init.el能够使用package-install来提取自动完成功能.
我不知道你引用了什么版本的自动完成,但最新版本对我来说很好.