【Tools】vim YouCompleteMe自动补全配置与使用
生活随笔
收集整理的這篇文章主要介紹了
【Tools】vim YouCompleteMe自动补全配置与使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
00. 目錄
文章目錄
- 00. 目錄
- 01. YouCompleteMe下載
- 02. YouCompleteMe安裝
- 03. YouCompleteMe配置
- 04. YouCompleteMe的使用
- 05. 附錄
01. YouCompleteMe下載
在gitHub中下載對應的插件
deng@itcast:~$ git clone --recursive git://github.com/Valloric/YouCompleteMe如果執行該命令沒報錯, 就ok了. 但是中途有可能會斷掉, 可以 cd 到 YouCompleteMe, 然后反復用如下命令再次進行下載:
deng@itcast:~$ git submodule update --init --recursive02. YouCompleteMe安裝
安裝
deng@itcast:~/.vim/bundle/YouCompleteMe$ pwd /home/deng/.vim/bundle/YouCompleteMe deng@itcast:~/.vim/bundle/YouCompleteMe$ ./install.py --clang-completer編譯結果如下:
-- [download 99% complete] -- [download 100% complete] Using libclang to provide semantic completion for C/C++/ObjC Using external libclang: /tmp/ycm_build.CKY92s/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so.3.8 -- Found PythonInterp: /usr/bin/python2.7 (found version "2.7.11") -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Configuring done -- Generating done -- Build files have been written to: /tmp/ycm_build.CKY92s Scanning dependencies of target BoostParts [ 0%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_raw_buffer.cpp.o [ 0%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/regex_debug.cpp.o [ 1%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/w32_regex_traits.cpp.o [ 2%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/regex/src/wide_posix_api.cpp.o ... [ 80%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/thread/src/pthread/once_atomic.cpp.o [ 82%] Building CXX object BoostParts/CMakeFiles/BoostParts.dir/libs/thread/src/pthread/thread.cpp.o [ 83%] Linking CXX static library libBoostParts.a [ 83%] Built target BoostParts Scanning dependencies of target ycm_core [ 83%] Building CXX object ycm/CMakeFiles/ycm_core.dir/PythonSupport.cpp.o [ 84%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Result.cpp.o [ 85%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Utils.cpp.o [ 85%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/Documentation.cpp.o [ 86%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/TranslationUnitStore.cpp.o [ 88%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/ClangCompleter.cpp.o [ 88%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/TranslationUnit.cpp.o [ 88%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/ClangHelpers.cpp.o [ 89%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/Range.cpp.o [ 90%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/ClangUtils.cpp.o [ 91%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/CompletionData.cpp.o [ 91%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ClangCompleter/CompilationDatabase.cpp.o [ 92%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CandidateRepository.cpp.o [ 94%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierDatabase.cpp.o [ 94%] Building CXX object ycm/CMakeFiles/ycm_core.dir/LetterNode.cpp.o [ 95%] Building CXX object ycm/CMakeFiles/ycm_core.dir/versioning.cpp.o [ 95%] Building CXX object ycm/CMakeFiles/ycm_core.dir/Candidate.cpp.o [ 96%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierUtils.cpp.o [ 97%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o [ 97%] Building CXX object ycm/CMakeFiles/ycm_core.dir/IdentifierCompleter.cpp.o [ 98%] Building CXX object ycm/CMakeFiles/ycm_core.dir/LetterNodeListMap.cpp.o [100%] Building CXX object ycm/CMakeFiles/ycm_core.dir/CustomAssert.cpp.o [100%] Linking CXX shared library /home/wuyt/mutils/debian_lenny_cfg/vim_cfg/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so [100%] Built target ycm_core如果報Python相關的錯誤就執行如下命令
deng@itcast:~$ sudo apt install build-essential cmake python3-dev03. YouCompleteMe配置
在~/.vimrc文件中添加如下內容
" YouCompleteMe set runtimepath+=~/.vim/bundle/YouCompleteMe let g:ycm_collect_identifiers_from_tags_files = 1 " 開啟 YCM 基于標簽引擎 let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注釋與字符串中的內容也用于補全 let g:syntastic_ignore_files=[".*\.py$"] let g:ycm_seed_identifiers_with_syntax = 1 " 語法關鍵字補全 let g:ycm_complete_in_comments = 1 let g:ycm_confirm_extra_conf = 0 let g:ycm_key_list_select_completion = ['<c-n>', '<Down>'] " 映射按鍵, 沒有這個會攔截掉tab, 導致其他插件的tab不能用. let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>'] let g:ycm_complete_in_comments = 1 " 在注釋輸入中也能補全 let g:ycm_complete_in_strings = 1 " 在字符串輸入中也能補全 let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注釋和字符串中的文字也會被收入補全 let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py' let g:ycm_show_diagnostics_ui = 0 " 禁用語法檢查 inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>" | " 回車即選中當前項 nnoremap <c-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>| " 跳轉到定義處 "let g:ycm_min_num_of_chars_for_completion=2 " 從第2個鍵入字符就開始羅列匹配項其中 ~/.vim/bundle/YouCompleteMe 為下載 YouCompleteMeu 的路徑.
04. YouCompleteMe的使用
- 默認當鍵入兩個字母之后, 則啟動補全. 可以通過該變量調整: g:ycm_min_num_of_chars_for_completion
- 也可以使用原有的``來補全, ycm將其功能增強了.
- 按照本文配置, 可用``跳轉到定義處.
- 默認配置``會選擇補全內容, 本文的配置將其屏蔽了, 為了不會與snipmate等需要tab的沖突, 選擇補全改為了.
05. 附錄
http://www.cnblogs.com/zhongcq/p/3630047.html
http://blog.csdn.net/ywh147/article/details/13625905
http://blog.csdn.net/q1302182594/article/details/51298280
http://blog.csdn.net/q1302182594/article/details/51298095
Mike的分享空間
總結
以上是生活随笔為你收集整理的【Tools】vim YouCompleteMe自动补全配置与使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Tools】Linux下C和C++程序
- 下一篇: 【数据库】Ubuntu18.04安装My