自动完成随机工作/不使用yasnippet,为什么?

时间:2015-05-31 12:27:45

标签: emacs autocomplete yasnippet

我已经配置了yasnippet和自动完成绑定,因此它不会发生冲突,自动完成使用<tab>而yasnippet使用<backtab>

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

;; Remove Yasnippet's default tab key binding
(define-key yas-minor-mode-map (kbd "<tab>") nil)
(define-key yas-minor-mode-map (kbd "TAB") nil)
;; Set Yasnippet's key binding to shift+tab
(define-key yas-minor-mode-map (kbd "<backtab>") 'yas-expand)

我还按照this question中的建议将yasnippet这样的源添加到了ac源。

(defun add-yasnippet-ac-sources ()
  (add-to-list 'ac-sources 'ac-source-yasnippet))
(add-hook 'web-mode-hook 'add-yasnippet-ac-sources)

我使用密钥lorem_dummy创建了两个yasnippets,使用密钥lorem_image创建了另一个yasnippets,其中一个示例:

# -*- mode: snippet; require-final-newline: nil -*-
# name: lorem_image
# key: lorem_image
# binding: direct-keybinding
# --
<img src="http://lorempixel.com/${1:width}/${2:height}/${3:$$(yas-choose-value '("abstract" "city" "animals" "food" "people" "transport" "business" "sports" "technics"))}/${4:text}" alt="$3">

在&#34;重复的问题&#34;中遵循解决方案后链接,一切似乎都很完美,但几个小时之后,它开始表现得很奇怪,随机,有时它有时会起作用。我制作了一个显示问题的视频,它有效,然后我重新启动Emacs并再次停止工作。

VIDEO 1

&GT; UPDATE&LT;

好吧,我发现了一些东西,并不是它随机起作用,只是因为它根本不起作用。在该视频中,自动完成与yasnippet键一起使用,因为它们在其他缓冲区中打开,并且它正在使用它。如果我关闭那些缓冲区,它们就会停止工作。 所以,问题是,使用这个init.el AC,它根本不适用于yasnippet

VIDEO 2 UPDATE AND COMMENTS

0 个答案:

没有答案