emacs 24自动完成yasnippet

标签 emacs autocomplete emacs24 yasnippet

我遇到问题已有一段时间了,这真让我头疼。我正在使用emacs 24.2.1

下一个代码是我的自动完成配置,当我在不使用yasnippet的情况下运行它时,一切都将顺利运行。

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

这是我对yasnippets的配置
(add-to-list 'load-path "~/.emacs.d/yasnippet")
(require 'yasnippet)
(yas/global-mode t)

在此代码之后,yasnippet可以正常工作,但自动完成功能可停止在c模式,c++模式,java模式和php模式下工作,但在lisp和python上运行良好(我仅使用这些语言进行过测试)。

我已经尝试过找到像自动完成这样的代码的东西
(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)

(dolist (m '(c-mode c++-mode java-mode))
  (add-to-list 'ac-modes m))

(global-auto-complete-mode t)

一段时间后,我意识到当我没有yasnippet时,自动完成效果很好,所以这不是解决方案。我也尝试过(yas/initialize)和(yas--initialize),但没有任何区别。在自动完成前后,我还启动了yasnippets,结果是相同的。我也尝试过修改yas/trigger-key变量,并且总是得到相同的结果。希望你能帮助我。

最佳答案

正如jpkotta所说,我只是将ac-source-yasnippet设置为nil,仅此而已。

(setq ac-source-yasnippet nil)

关于emacs 24自动完成yasnippet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15774807/

相关文章:

emacs lisp,如何获取缓冲区主要模式?

Emacs:将 C-h 转换为 DEL,将 M-h 转换为 M-DEL

email - 在 emacs 24 中读取电子邮件(来自 gmail)

emacs - 加载通过Emacs24中的 'package.el'安装的软件包

emacs - .dir-locals.el 中的错误类型参数 : listp, eval-after-load

bash - Emacs M-x shell 和覆盖 bash 键盘绑定(bind)

Emacs 无法加载自动完成包

javascript - jQuery 自动完成 : Display certain objects differently?

javascript - 如何在 Struts2 自动完成器操作中传递 javascript 对象?

javascript - jQuery 如何使用 ajax 读取和格式化数据以进行自动完成