首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UltiSnips和YouCompleteMe

UltiSnips和YouCompleteMe
EN

Stack Overflow用户
提问于 2013-02-15 21:57:55
回答 12查看 61.7K关注 0票数 137

我在我的macvim上安装了捆绑包ultisnips和你。问题是ultisnips无法工作,因为tab是由ycm绑定的。我试着放入let g:UltiSnipsExpandTrigger = "<s-tab>",这样我就可以用shift-Tab键触发代码段补全,但由于某些未知的原因,它不起作用。我可以使用caps作为触发器,但到目前为止,我还没有找到这样做的方法。

你们中有没有人同时使用这两个附加组件?我可以做什么来使shift-tab工作?你能推荐另一个触发代码片段的键吗?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2013-02-16 17:53:36

我的vimrc里有这个

代码语言:javascript
复制
"" YouCompleteMe
let g:ycm_key_list_previous_completion=['<Up>']

"" Ultisnips
let g:UltiSnipsExpandTrigger="<c-tab>"
let g:UltiSnipsListSnippets="<c-s-tab>"

这就是我在第一次尝试时所做的,但我在UltiSnips中拼写错了Ultisnips。哦,好吧,终于成功了!

票数 18
EN

Stack Overflow用户

发布于 2013-06-30 17:26:15

在YouCompleteMe问题跟踪器中的page上尝试此建议。在您的.vimrc中:

代码语言:javascript
复制
let g:UltiSnipsExpandTrigger="<c-j>"

虽然此设置将使扩展代码段共享用于在代码段中向前跳转的默认映射,但它模拟了TextMates的行为,如UltiSnips帮助标签中所述。

因为我已经将我的Caps Lock键映射到Ctrl,所以这个映射非常顺利。

票数 52
EN

Stack Overflow用户

发布于 2013-09-09 00:11:09

将以下代码复制到您的vimrc中,并尽情享受。此函数将处理YCM和UltiSnips之间的所有问题。

代码语言:javascript
复制
function! g:UltiSnips_Complete()
    call UltiSnips#ExpandSnippet()
    if g:ulti_expand_res == 0
        if pumvisible()
            return "\<C-n>"
        else
            call UltiSnips#JumpForwards()
            if g:ulti_jump_forwards_res == 0
               return "\<TAB>"
            endif
        endif
    endif
    return ""
endfunction

au BufEnter * exec "inoremap <silent> " . g:UltiSnipsExpandTrigger . " <C-R>=g:UltiSnips_Complete()<cr>"
let g:UltiSnipsJumpForwardTrigger="<tab>"
let g:UltiSnipsListSnippets="<c-e>"
" this mapping Enter key to <C-y> to chose the current highlight item 
" and close the selection list, same as other IDEs.
" CONFLICT with some plugins like tpope/Endwise
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
票数 40
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14896327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档