歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Vim安裝youcompleteme自動補全插件

Vim安裝youcompleteme自動補全插件

日期:2017/2/28 13:46:29   编辑:Linux教程

本文介紹的是如何在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*[^\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文件就可以使用代碼補全了

Copyright © Linux教程網 All Rights Reserved