比如下面这个图:
接下来我期望是 tab 移动到另一个 Snippet Field,但是Company把 tab键占了,结果却是在Company补完菜单内移动,这有什么好的解决办法吗?
比如下面这个图:
接下来我期望是 tab 移动到另一个 Snippet Field,但是Company把 tab键占了,结果却是在Company补完菜单内移动,这有什么好的解决办法吗?
我习惯 ENTER 键上屏:
(setq company-auto-complete-chars '((kbd "RET")))
(with-eval-after-load 'company
(define-key company-active-map (kbd "M-n") nil)
(define-key company-active-map (kbd "M-p") nil)
(define-key company-active-map (kbd "C-n") #'company-select-next)
(define-key company-active-map (kbd "C-p") #'company-select-previous)
(define-key company-active-map (kbd "TAB") #'yas-expand))
我也是。 回复真神速,谢谢 这样的话就不能用 tab 键在 Company选单内移动了,鱼与熊掌不可兼得啊
而且这样的话 Company 的分段补全功能也没了,这有点不能接受,有没有更好的办法?比如只在光标位于 yasnippet Field内时才这样?
抱歉,FALSE Alarm,spacemacs应该是已经把这个问题解决了,虽然会弹出Company 菜单,但是按tab键会直接跳转,而不是在菜单内移动。
有的时候觉得 spacemacs 还是挺人性化的。
我前面的回复只是举个例子,说明可以在 (with-eval-after-load 'company
修改 company 激活后的行为。
你问题有些地方我还没看明白。多段补全是什么?
比如我输入 regex
按 TAB,会补全为 regexp-
,再按 TAB,会在菜单内向下移动,或者继续补全.
出现 company 选单之后,按TAB 跳到下一个 yas field: (没判断光标位置是不是 field)
(with-eval-after-load 'company
(define-key company-active-map (kbd "TAB") nil)
(define-key company-active-map (kbd "TAB") #'yas-next-field)
)
不知道 spacemacs 是怎样设置的。
估计是类似这样的吧,但是加入了 Field 的判断
不知道这个问题是什么时候修复的,我记得以前好像不是这样的,所以才会发帖。
No offense, but
现在发帖不看贴已经成为时尚了吗?
首先,我的问题已经解决了
然后,你这个和我描述的问题不相关。而且没有任何说明,上来就粘一段代码,也很难对其它同学产生帮助。
不行,我的还是键入fun的情况下TAB
无任何反应。
而M+/
则正常snippst
咱们说的不是一回事,你没有仔细看帖子。我这个帖子说的是 yas 已经展开的情况下,tab 在 field 间的移动问题。
你说的是展开问题,展开遇到冲突的时候都是用 M-/
没问题的
嗯嗯,明白。我暂时先不搞了,还没有用过snippst,先用着。
谢谢哈。