vim - UltiSnips 和 YouCompleteMe

标签 vim autocomplete macvim ultisnips

我在我的 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/

相关文章:

regex - vim: 为什么空格字符在方括号表达式中不起作用,但\n却可以

python - 在没有 shebang 的情况下在 Vim 中执行当前文件

vim + NERDTree 红色文件名?

macvim - 在 MacVim 中打开新选项卡时不执行 .vimrc

vim - 突出显示文本时更改光标背景

Vim 删除视觉选择并切换到插入模式

ajax - 在 jquery ui 自动完成中结合本地源和远程源

c++ - 如何为用户提供给定boost::spirit语法的自动完成建议?

javascript - 如何在选择时将自定义值传递给自动完成输入类型?

vim - 如何自动更改 Vim 中的当前路径?