1. 程式人生 > >vim安裝youcompleteme自動補全外掛

vim安裝youcompleteme自動補全外掛

本文介紹的是如何在vim中安裝youcompleteme自動補全外掛

一、安裝youcompleteme

開啟檔案~/.vimrc
新增下面一行程式碼

Bundle 'Valloric/YouCompleteMe'

儲存退出,開啟一個vim新檔案,執行以下程式碼

:BundleInstall

進行安裝vim外掛

二、編譯youcompleteme外掛

安裝完後,編譯youcompleteme
進入資料夾~/.vim/bundle/YouCompleteMe/

./install.sh --clang-completer

三、配置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*[^\W\d]\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檔案就可以使用程式碼補全了