CentOS 7下的Vim自動補齊外掛程式YouCompleteMe安裝及配置

來源:互聯網
上載者:User

標籤:

YouCompleteMe簡介  

  YouCompeteMe外掛程式官方地址:Github.

  YouCompleteMe是一款功能非常強大的自動補齊外掛程式,如:

   

  詳細介紹可參考博文Vim下自動補齊外掛程式YouComplete安裝與配置。

YouCompleteMe安裝檢查Vim版本

  YouCompleteMe要求Vim版本大於等於7.3。檢查Vim版本命令如下:

1 vim --version
安裝cmake
1 sudo yum install cmake
編譯安裝llvm-clang

  下載最新的LLVM、clang 及輔助庫源碼可用:

 1 cd ~/llvm-clang 2 svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm 3 cd llvm/tools 4 svn co http://llvm.org/svn/llvm-project/cfe/trunk clang 5 cd ../.. 6 cd llvm/tools/clang/tools 7 svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra 8 cd ../../../.. 9 cd llvm/projects10 svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt11 cd ..

  返回~/llvm-clang目錄,並建立一個目錄llvm-build專門用於編譯llvm-clang,使得不汙染源碼。

1 mkdir llvm-build2 cd llvm-build/3 ../llvm/configure --enable-optimized --enable-targets=host-only --prefix=/usr/clang

  建立編譯環境

  此種配置後,其中--prefix指定llvm-clang安裝目錄

  輸入

1 make -j4 // 開始編譯2 sudomakeinstall//進行安裝

  如要卸載則在該目錄下輸入

1 sudo make uninstall

  安裝好後,輸入

1 clang -v //查看版本資訊:
安裝clang標準庫

  clang 的標準庫————libc++(介面層)和 libc++abi(實現層)需要安裝標頭檔和動態連結程式庫(*.so)。

  安裝libc++

1 cd ~/llvm-clang2 svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx3 cd libcxx/lib4 ./buildit

  標頭檔已經產生到 ~/llvm-clang/libcxx/include/,要讓 clang 找到必須複製到 /usr/include/c++/v1/

1 sudo cp -r ~/llvm-clang/libcxx/include/ /usr/include/c++/v1/

  *.so 檔案已產生 ~/llvm-clang/libcxx/lib/libc++.so.1.0,要讓 clang 訪問必須複 制到 /usr/lib/,並建立軟連結

1 ln -s ~/llvm-clang/libcxx/lib/libc++.so.1.0 ~/llvm-clang/libcxx/lib/libc++.so.12 ln -s ~/llvm-clang/libcxx/lib/libc++.so.1.0 ~/llvm-clang/libcxx/lib/libc++.so3 sudo cp ~/llvm-clang/libcxx/lib/libc++.so* /usr/lib/

  類似,源碼安裝 libc++abi 的標頭檔和動態連結程式庫:

1 cd  ~/llvm-clang/2 svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk libcxxabi3 cd libcxxabi/lib4 ./buildit

  標頭檔已經產生到 ~/llvm-clang/libcxxabi/include/,要讓 clang 找到必須複製到 /usr/include/c++/v1/

1 cp -r ~/llvm-clang/libcxxabi/include/ /usr/include/c++/v1/

  *.so 檔案已產生 ~/llvm-clang/libcxx/lib/libc++abi.so.1.0,要讓 clang 訪問必 須複製到 /usr/lib/,並建立軟連結

1 ln -s ~/llvm-clang/libcxxabi/lib/libc++abi.so.1.0 ~/llvm-clang/libcxxabi/lib/libc++abi.so.12 ln -s ~/llvm-clang/libcxxabi/lib/libc++abi.so.1.0 ~/llvm-clang/libcxxabi/lib/libc++abi.so3 sudo cp ~/llvm-clang/libcxxabi/lib/libc++abi.so* /usr/lib/
安裝Python開發環境

  如果系統沒有裝有python,則需安裝:

1 sudo yum install python-devel
安裝Vundle

  Vundle是Vim的外掛程式管理外掛程式,安裝詳細請參照Vundle官方網站。

安裝YouCompleteMe

  下載YouCompleteMe源碼:

1 git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe

  然後在在vimrc檔案中加入:

1 Bundle ‘Valloric/YouCompleteMe‘

  執行命令:

cd ~/.vim/bundle/YouCompleteMe./install.sh --clang-completer
YouCompleteMe配置

  下邊配置摘自博文Vim下自動補齊外掛程式YouComplete安裝與配置。

 1 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 2 " => YouCompleteMe  代碼自動補全 3 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 4 Bundle ‘Valloric/YouCompleteMe‘ 5 " youcompleteme  預設tab  s-tab 和自動補全衝突 6 " let g:ycm_key_list_select_completion=[‘<c-n>‘] 7 " let g:ycm_key_list_select_completion = [‘<Down>‘] 8 " let g:ycm_key_list_previous_completion=[‘<c-p>‘] 9 " let g:ycm_key_list_previous_completion = [‘<Up>‘]10 let g:ycm_confirm_extra_conf=0      " 關閉載入.ycm_extra_conf.py提示11 let g:ycm_complete_in_comments = 1  "在注釋輸入中也能補全12 let g:ycm_complete_in_strings = 1   "在字串輸入中也能補全13 let g:ycm_collect_identifiers_from_tags_files=1                 " 開啟 YCM 基於標籤引擎14 let g:ycm_collect_identifiers_from_comments_and_strings = 1   "注釋和字串中的文字也會被收入補全15 let g:ycm_seed_identifiers_with_syntax=1   "語言關鍵字補全, 不過python關鍵字都很短,所以,需要的自己開啟16 let g:ycm_collect_identifiers_from_tags_files = 117 let g:ycm_min_num_of_chars_for_completion=2                     " 從第2個鍵入字元就開始羅列匹配項18 " 引入,可以補全系統,以及python的第三方包 針對新老版本YCM做了相容19 " old version20 if !empty(glob("~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py"))21     let g:ycm_global_ycm_extra_conf = "~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py"22 endif23 " new version24 if !empty(glob("~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py"))25     let g:ycm_global_ycm_extra_conf = "~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py"26 endif27 28 "mapping29 nmap <leader>gd :YcmDiags<CR>30 nnoremap <leader>gl :YcmCompleter GoToDeclaration<CR>           " 跳轉到申明處31 nnoremap <leader>gf :YcmCompleter GoToDefinition<CR>            " 跳轉到定義處32 nnoremap <leader>gg :YcmCompleter GoToDefinitionElseDeclaration<CR>33 34 " 直接觸發自動補全35 let g:ycm_key_invoke_completion = ‘<C-Space>‘36 " 黑名單,不啟用37 let g:ycm_filetype_blacklist = {38       \ ‘tagbar‘ : 1,39       \ ‘gitcommit‘ : 1,40       \}
參考資料

  Vim下自動補齊外掛程式YouComplete安裝與配置

  YouCompleteMe官方網站

 

CentOS 7下的Vim自動補齊外掛程式YouCompleteMe安裝及配置

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.