天天看點

安裝vim插件YouCompleteMe

倉庫位址 https://github.com/ycm-core/YouCompleteMe

安裝編譯環境:

sudo apt install build-essential cmake
sudo apt install python-dev python3-dev
sudo apt install ctags
sudo apt install gcc g++
sudo apt install clang libclang-dev
           
git clone https://github.com/ycm-core/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe
           

Compiling YCM with semantic support for C-family languages through libclang:

cd ~/.vim/bundle/YouCompleteMe
python3 install.py --clang-completer
           

到這裡會提示 "git submodule update --init --recursive"

繼續

sudo git submodule update --init --recursive
           

提示 錯誤

fatal: unable to access 'https://go.googlesource.com/tools/': Failed to connect to go.googlesource.com port 443: 連接配接逾時
fatal: 無法克隆 'https://go.googlesource.com/tools' 到子模組路徑 '/home/zyj/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/go/src/golang.org/x/tools'
           

處理:https://www.cnblogs.com/YMaster/p/11209813.html

原因 go.googlesource.com 域名國内無法直接通路,這時候根據 後面的路徑  /home/zyj/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/go/src/golang.org/x/tools 來知道該子產品是要放這個路徑下的

到 github 上找到該子產品下載下傳到該路徑

cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/go/src/golang.org/x

git clone https://github.com/golang/tools.git
           
cd ~/.vim/bundle/YouCompleteMe

# 繼續子子產品的安裝
git submodule update --init --recursive
           

成功安裝子子產品。

cd ~/.vim/bundle/YouCompleteMe
python3 install.py --clang-completer
           

Done.

-----------------------------------以下為配置-----------------------------------------

cp ~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py ~/.vim/
           

在~/.vimrc中添加

let g:ycm_server_python_interpreter='/usr/bin/python3'
let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
           

在~/.vimrc總 call vundle#begin()  和 call vundle#end()  之間添加插件

Plugin 'Valloric/YouCompleteMe'
           
安裝vim插件YouCompleteMe

莫要忘記在vim中安裝插件

vim 任意檔案,進入指令模式

安裝vim插件YouCompleteMe
安裝vim插件YouCompleteMe

至此自動補全功能闊以用了。

上圖

安裝vim插件YouCompleteMe

--------------------------------------------------------------------------------------------------------------------------------------

使用YCM的跳轉功能

在~/.vimrc中添加

    nnoremap jd :YcmCompleter GoToDefinitionElseDeclaration<CR>  
    nnoremap <F2> :YcmCompleter GoToDefinitionElseDeclaration<CR>  

“使用',j+d'組合鍵/F2鍵 完成跳轉,跳轉到函數或變量的聲明或定義位置

           

跳轉成功之後,可使用VIM指令ctrl+o傳回光标上一個位置

配合ctags 一起使用,更舒服(函數跳轉)

vimrc上傳還要寫50個字的概述...

參考:https://blog.csdn.net/liao20081228/article/details/80347889

------------------------------End

繼續閱讀