【问题标题】:emacs 24 autocomplete yasnippetemacs 24 自动完成 yasnippet
【发布时间】:2013-03-24 09:05:24
【问题描述】:

我的问题已经有一段时间了,这让我非常头疼。我正在使用 emacs 24.2.1

下一个代码是我的自动完成配置,当我在没有 yasn-p 的情况下运行它时,一切都运行顺利。

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

这是我对 yasn-ps 的配置

(add-to-list 'load-path "~/.emacs.d/yasnippet")
(require 'yasnippet)
(yas/global-mode t)

在这段代码之后,yasn-p 工作正常,但自动完成功能停止在 c-mode、c++-mode、java-mode 和 php-mode 上工作,但它在 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)

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

【问题讨论】:

  • 您使用的是什么版本的自动完成和 yasn-p?有一次,最新的 yasn-p 和 ac-source-yasn-p 不能一起工作,但我不确定是否仍然如此。我在 init.el 中将 ac-source-yasn-p 设置为 nil。
  • 它正在使用它!!!谢谢,我仍然要进一步搜索,因为将 ac-source-yasn-p 设置为 nil 有点奇怪。是不是因为你的配置有什么问题?
  • 这有点奇怪,但我认为这不会给我带来问题。 yasn-p 和自动完成都可以正常工作。查看源代码,似乎将其从 ac-sources(本地缓冲区)中删除可能更正确。
  • 好的,到现在都没有出现问题,非常感谢!

标签: emacs autocomplete emacs24 yasnippet


【解决方案1】:

正如 jpkotta 所说,我只是将我的 ac-source-yasn-p 设置为 nil,就是这样。

(setq ac-source-yasnippet nil)

【讨论】:

    猜你喜欢
    • 2012-04-09
    • 2015-08-07
    • 2014-08-08
    • 2014-08-09
    • 2013-03-01
    • 2011-05-04
    • 2012-11-01
    • 1970-01-01
    • 2013-11-01
    相关资源
    最近更新 更多