2021-05-12 14:32:11
Vim安裝youcompleteme自動補全外掛
本文介紹的是如何在Vim中安裝youcompleteme自動補全外掛
一、安裝youcompleteme
開啟檔案~/.vimrc
新增下面一行程式碼
Bundle 'Valloric/YouCompleteMe'
儲存退出,開啟一個vim新檔案,執行以下程式碼
:BundleInstall
進行安裝vim外掛
二、編譯youcompleteme外掛
安裝完後,編譯youcompleteme
進入資料夾~/.vim/bundle/YouCompleteMe/
./install.sh --clang-completer
更多語言的補全請參照youcompleteme github
三、設定youcompleteme外掛
vim ~/.vimrc
新增以下程式碼
"YouCompleteMe智慧補全工具
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
" 不顯示開啟vim時檢查ycm_extra_conf檔案的資訊
let g:ycm_confirm_extra_conf = 0
" 開啟基於tag的補全,可以在這之後新增需要的標籤路徑
let g:ycm_collect_identifiers_from_tags_files = 1
" 開啟語意補全
let g:ycm_seed_identifiers_with_syntax = 1
"注釋和字串中的文字也會被收入補全
let g:ycm_collect_identifiers_from_comments_and_strings = 0
" 輸入第 2 個字元開始補全
let g:ycm_min_num_of_chars_for_completion= 2
" 禁止快取匹配項,每次都重新生成匹配項
let g:ycm_cache_omnifunc=0
"在註釋輸入中也能補全
let g:ycm_complete_in_comments = 1
"在字串輸入中也能補全
let g:ycm_complete_in_strings = 1
"定義快捷健補全
let g:ycm_key_list_select_completion = ['<c-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']
" 設定在下面幾種格式的檔案上遮蔽ycm
let g:ycm_filetype_blacklist = {
'tagbar' : 1,
'qf' : 1,
'notes' : 1,
'markdown' : 1,
'unite' : 1,
'text' : 1,
'vimwiki' : 1,
'pandoc' : 1,
'infolog' : 1,
'mail' : 1
}
"設定關健字觸發補全
let g:ycm_semantic_triggers = {
'c' : ['->', '.', ' ', '(', '[', '&'],
'objc' : ['->', '.', 're![[_a-zA-Z]+w*s', 're!^s*[^Wd]w*s',
're![.*]s'],
'ocaml' : ['.', '#'],
'cpp,objcpp' : ['->', '.', '::'],
'perl' : ['->'],
'php' : ['->', '::'],
'cs,java,javascript,typescript,d,python,perl6,scala,vb,elixir,go' : ['.'],
'ruby' : ['.', '::'],
'lua' : ['.', ':'],
'erlang' : [':'],
}
let g:ycm_cache_omnifunc = 1
let g:ycm_use_ultisnips_completer = 1
"定義函數跟蹤快捷健
nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>
四、補全js程式碼
安裝tern_for_vim外掛
vim ~/.vimrc
Plugin 'marijnh/tern_for_vim'
新建一個vim檔案,執行以下程式碼
:PligunInstall
設定tern_for_vim
cd ~/.vim/bundle/tern_for_vim
npm install
在專案中補全js程式碼
在專案根目錄下新增檔案.tern_project
{
"libs": [
"browser",
"underscore",
"jquery"
],
"plugins": {
}
}
在plugin中可以加入node或者angular等關鍵字,載入該庫的補全功能。如下:
"plugins": {
"node": {}
}
儲存退出,然後開啟專案中的js檔案就可以使用程式碼補全了
更多Vim相關教學見以下內容:
Vim 8.0 釋出 http://www.linuxidc.com/Linux/2016-09/135178.htm
Vim學習指南 http://www.linuxidc.com/Linux/2013-08/89096.htm
Vim編輯器設定 http://www.linuxidc.com/Linux/2016-09/135460.htm
Vim編輯器使用 http://www.linuxidc.com/Linux/2016-09/135043.htm
快速學會 Vi編輯器 http://www.linuxidc.com/Linux/2013-08/88586.htm
強大的Vim 編輯器 http://www.linuxidc.com/Linux/2013-07/87544.htm
Linux文字編輯器Vim的一般用法 http://www.linuxidc.com/Linux/2016-11/137263.htm
把Vim打造成優秀的C++ IDE http://www.linuxidc.com/Linux/2016-06/132262.htm
Ubuntu 14.04升級Vim7.4到8.0 http://www.linuxidc.com/Linux/2016-11/136816.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-11/137665.htm
相關文章