由于以前很依赖 yasnippet,现在用spacemacs后,不用不舒服斯基,配置yasnippet如下图所示
现在却不能补全,请问还有什么需要设置的吗,求教!!!
我用 TAB键不能补全,但手动 M-x yas-expan 可以补全,似乎spacemacs改变了默认的TAB补全方式,那么我是不是要创建一个layer,把TAB键重新绑定成TAB呢!
目前的解决办法是直接在 .spacemacs 文件里进行键绑定到TAB,不晓得以后会不会有什么问题
把那行 (setq yas-snippet-dirs ...)
删了。
另外再开个 auto-completion
自己查看auto-completion layer. M-x ivy-spacemacs-help -> auto-completion
, 打开一个文件后浏览该目录下的readme.
.emacs.d/snippets
和.spacemacs.d/snippets
目录都是默认的private的yasnippet目录。
我的配置:
(auto-completion :variables
auto-completion-enable-sort-by-usage t
auto-completion-return-key-behavior 'complete
auto-completion-tab-key-behavior 'complete
auto-completion-enable-snippets-in-popup nil
auto-completion-idle-delay 0.2)
谢谢答主,请问 我设置 yasnippet,怎么还要开 auto-completion呢~
谢谢答主的回答,请问 我设置 yasnippet,怎么还要开 auto-completion呢~
谢谢答主里 !
好的谢谢老铁了!!!我去了解下
不知道你有没有碰到yas active时不能补全单词的问题(tab一下就到下一个field了),可能需要改一下按键,我是tab
补全,(yas active时)enter
到下一field:
(define-key yas-keymap (kbd "<return>") 'yas-next-field)
另外要普通状态下tab同时展开yas或company补全需要判断一下:
stackexchange上原版是有yas active时tab可以补全或next-field的功能的,我把这个去掉改成上面说的enter
了,另外修正了两个已经不存在的yas函数。
yas和company同时补全的还没试过,我去看看,谢老铁!