suchen

Heim  >  Fragen und Antworten  >  Hauptteil

macos – Mac Vim YouComplete-Eingabeaufforderung

1.brew install vim
2.Installieren Sie den vundle Plug-in-Manager
3.Installieren Sie Ihr komplettes Plug-in

Mein vim verfügt über Eingabeaufforderungen, aber die Eingabeaufforderungen bestehen nur aus einigen Zeichen im aktuellen Skript. Es fordert keine Systembibliotheksfunktionen oder andere automatische Eingaben an.
Und Sie können es nicht einmal durch Drücken der Tabulatortaste abschließen.

怪我咯怪我咯2778 Tage vor701

Antworte allen(1)Ich werde antworten

  • 怪我咯

    怪我咯2017-05-16 16:39:40

    YCM 对于clang的补全需要依赖clang++ 3.70及以上的版本。另外补全不一定是tab, 你得看看.vimrc怎么设置的,我的是ctrl + j或者k进行选择



    如果都安装好了的话,那你打开vim之后,使用Vundle看看是不是安装成功,如果成功的话,那可能是配置问题了,
    下面是我本机的YCM在vimrc.bundle的配置: 看看是不是有帮助?

    " YouCompleteMe {{{
        "youcompleteme  默认tab  s-tab 和自动补全冲突
        "let g:ycm_key_list_select_completion=['<c-n>']
        let g:ycm_key_list_select_completion = ['<Down>']
        "let g:ycm_key_list_previous_completion=['<c-p>']
        let g:ycm_key_list_previous_completion = ['<Up>']
        let g:ycm_complete_in_comments = 1  "在注释输入中也能补全
        let g:ycm_complete_in_strings = 1   "在字符串输入中也能补全
        let g:ycm_use_ultisnips_completer = 1 "提示UltiSnips
        let g:ycm_collect_identifiers_from_comments_and_strings = 1   "注释和字符串中的文字也会被收入补全
        let g:ycm_collect_identifiers_from_tags_files = 1
        " 开启语法关键字补全
        let g:ycm_seed_identifiers_with_syntax=1
    
        "let g:ycm_seed_identifiers_with_syntax=1   "语言关键字补全, 不过python关键字都很短,所以,需要的自己打开
    
        " 跳转到定义处, 分屏打开
        let g:ycm_goto_buffer_command = 'horizontal-split'
        " nnoremap <leader>jd :YcmCompleter GoToDefinition<CR>
        nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>
        nnoremap <leader>gd :YcmCompleter GoToDeclaration<CR>
    
        " 引入,可以补全系统,以及python的第三方包 针对新老版本YCM做了兼容
        " old version
        if !empty(glob("~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py"))
            let g:ycm_global_ycm_extra_conf = "~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py"
        endif
        " new version
        if !empty(glob("~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py"))
            let g:ycm_global_ycm_extra_conf = "~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py"
        endif
    
        " 直接触发自动补全 insert模式下
        " let g:ycm_key_invoke_completion = '<C-Space>'
        " 黑名单,不启用
        let g:ycm_filetype_blacklist = {
            \ 'tagbar' : 1,
            \ 'gitcommit' : 1,
            \}
    " }}}
    

    Antwort
    0
  • StornierenAntwort