我在我的 macvim 上安装了 ultisnips 和 youcompleteme 包。
问题是 ultisnips 不起作用,因为 tab 是由 ycm 绑定(bind)的。
我尝试输入 let g:UltiSnipsExpandTrigger = "<s-tab>"
这样我就可以使用 shift-tab 触发片段完成,但由于某些未知原因它不起作用。我可以使用大写字母作为触发器,但到目前为止我还没有找到这样做的方法。
你们中有人同时使用这两个附加组件吗? 我该怎么做才能使 Shift-Tab 工作? 您能推荐另一个触发片段的键吗?
最佳答案
另一个选择是使用 SuperTab 插件:
" if you use Vundle, load plugins:
Bundle 'ervandew/supertab'
Bundle 'Valloric/YouCompleteMe'
Bundle 'SirVer/ultisnips'
" make YCM compatible with UltiSnips (using supertab)
let g:ycm_key_list_select_completion = ['<C-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>']
let g:SuperTabDefaultCompletionType = '<C-n>'
" better key bindings for UltiSnipsExpandTrigger
let g:UltiSnipsExpandTrigger = "<tab>"
let g:UltiSnipsJumpForwardTrigger = "<tab>"
let g:UltiSnipsJumpBackwardTrigger = "<s-tab>"
这里 YouCompleteMe 绑定(bind)到不同的组合 Ctrln,但随后该组合通过 SuperTab 绑定(bind)到 Tab。 UltiSnips 和 SuperTab 配合得很好,因此您只需将 UltiSnips 直接绑定(bind)到 Tab 即可,一切都会顺利进行。
关于vim - UltiSnips 和 YouCompleteMe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14896327/