首頁 > 軟體

Vim安裝YouCompleteMe 外掛

2020-06-16 17:54:02

要安裝YouCompleteMe ,Vim須支援Python。看是否支援,可以在Vim中:version 檢視, 如果Python前有+號,就是支援,減號就是不支援。

如果不支援,需要以編譯安裝方式重新安裝Vim。

編譯設定選項:

./configure --with-features=huge --enable-pythoninterp --enable-python3interp --enable-luainterp --enable-multibyte --enable-sniff --enable-fontset

在我的機器上裝有python2.7.5 和 python3.3, 但加了enable-python3interp引數依然沒有支援py3,不知何故,先不管,YouCompleteMe 只要求有py2.6以上。

安裝vundle外掛

git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

在.vimrc中設定

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" alternatively, pass a path where Vundle should install plugins
"let path = '~/some/path/here'
"call vundle#rc(path)

" let Vundle manage Vundle, required
Plugin 'gmarik/vundle'

" The following are examples of different formats supported.
" Keep Plugin commands between here and filetype plugin indent on.
" scripts on GitHub repos
Plugin 'tpope/vim-fugitive'
Plugin 'Lokaltog/vim-easymotion'
Plugin 'tpope/vim-rails.git'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" scripts from http://vim-scripts.org/vim/scripts.html
Plugin 'L9'
Plugin 'FuzzyFinder'
" scripts not on GitHub
Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
Plugin 'file:///home/gmarik/path/to/plugin'
" ...

filetype plugin indent on    " required
Bundle 'Valloric/YouCompleteMe'

儲存退出,開啟vim,輸入 :BundleInstall 進行自動安裝

進程如下,+號表示已經安裝,>表示正在安裝。

. Plugin 'gmarik/vundle' |~
+ Plugin 'tpope/vim-fugitive' |~
+ Plugin 'Lokaltog/vim-easymotion' |~
+ Plugin 'tpope/vim-rails.git' |~
+ Plugin 'rstacruz/sparkup' |~
+ Plugin 'L9' |~
+ Plugin 'FuzzyFinder' |~
> Plugin 'git://git.wincent.com/command-|~
t.git' |~
Plugin 'file:///home/gmarik/path/to/pl|~
ugin' |~
Plugin 'Valloric/YouCompleteMe' |~
Helptags

結束時有個錯誤,這是正常的,因為ycm需要手工編譯出庫檔案

Done! With errors; press l to view log
ycm_client_support.[so|pyd|dll] and ycm_core.[so|pyd|dll] not detected; you need
 to compile YCM before using it. Read the docs!

到 .vim/bundle/YouCompleteMe 下跑

 ./install.sh --clang-completer

引數是為了支援c/c++ 的補全。

安裝完成後進行一些簡單的設定就可以使用。

YouCompleteMe 的補全組態檔在/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py,這是個隱藏檔案。

預設會使用這個檔案,也可以把這個檔案copy到工程的根目錄中作修改,開啟工程檔案時會優先使用當前目錄下的組態檔。

如果找不到,會根據設定中的ycm_global_ycm_extra_conf 進行查詢。

在.vimrc 中新增

let mapleader = ","  " 這個leader就對映為逗號“,”

let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'  “設定預設的ycm_extra_conf.py
nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>  “按,jd 會跳轉到定義
let g:ycm_confirm_extra_conf=0    “開啟vim時不再詢問是否載入ycm_extra_conf.py設定
let g:ycm_collect_identifiers_from_tag_files = 1 "使用ctags生成的tags檔案

更多Vim相關教學見以下內容

把VIM打造成一個簡單實用的IDE http://www.linuxidc.com/Linux/2011-06/37032.htm

Vim學習指南 http://www.linuxidc.com/Linux/2013-08/89096.htm

快速學會 Vi編輯器 http://www.linuxidc.com/Linux/2013-08/88586.htm

強大的Vim 編輯器 http://www.linuxidc.com/Linux/2013-07/87544.htm

CentOS 6.2上搭建Vim開發環境 http://www.linuxidc.com/Linux/2013-07/87363.htm

CentOS 5.4 安裝高亮Vim編輯工具 http://www.linuxidc.com/Linux/2013-06/86508.htm

Vim技巧分享:C語言設定 http://www.linuxidc.com/Linux/2012-12/77124.htm

Ubuntu中設定Vim的行號 http://www.linuxidc.com/Linux/2012-12/75485.htm

Vim編輯器使用基礎教學 http://www.linuxidc.com/Linux/2013-05/84031.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-08/122483.htm


IT145.com E-mail:sddin#qq.com