VIM自動補全插件 - YouCompleteMe--"大神級vim補全插件"

VIM自動補全插件 - YouCompleteMe

序言html

    vim 之因此被稱爲編輯器之神多半歸功於其豐富的可DIY的靈活插件功能,( 例如vim下的這款神級般的代碼補全插件YouCompleteMe), 使用VIM的用戶也多半感受 IDE開發工具不夠輕便,且IDE每每只支持特定的幾種語言或者特定系統平臺,多數人用來用去,仍是以爲VIM最順手,用起來最舒心.java

  下面這個VIM的自動補全插件——YouCompleteMe,爲咱們彌補了vim不能自動補全的缺憾。YCM不單單對C族語言的支持很是好,並且它是一個很強大的VIM自動補全框架,能夠和Eclim、Jedi配合,對Java、Python等語言提供很是好的支持。python


 

 YouCompleteMe 完整的安裝步驟以下:c++

  1. 升級VIM到7.3.584+,而且支持python內嵌腳本。584是補丁的編號,通常咱們裝的VIM都是不帶補丁的。能夠選擇打補丁,不過這樣比較麻煩,我選擇了直接安裝VIM 7.4(下載當前的 vim-7.4a )。git

    $ ./configure --with-features=huge --enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-cscope --enable-multibyte --disable-gui --prefix=/usr $ make VIMRUNTIMEDIR=/usr/share/vim/vim74a # make install

     
  2. 經過 Vundle 安裝YCM。官方比較推薦使用Vundle作插件管理,不過我以前一直未使用。github

    首先安裝Vundle:vim

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

    配置 ~/.vimrc:ruby

    set nocompatible " be iMproved filetype off " required! set rtp+=~/.vim/bundle/vundle/ call vundle#rc()  " let Vundle manage Vundle " required! Bundle 'gmarik/vundle' (本句後面不要添加註釋,不然會報錯哦~奇葩~) Bundle 'Valloric/YouCompleteMe'  (本句後面也不要添加任何註釋,不然也會報錯~) filetype plugin indent on " required! " " Brief help " :BundleList - list configured bundles " :BundleInstall(!) - install(update) bundles " :BundleSearch(!) foo - search(or refresh cache first) for foo " :BundleClean(!) - confirm(or auto-approve) removal of unused bundles " " see :h vundle for more details or wiki for FAQ " NOTE: comments after Bundle command are not allowed.. 

    安裝YCM:bash

    $ vim +BundleInstall +qall

     
  3. 升級libclang到3.2以上版本,能夠經過Xcode來升級。app

    對於Debian系統,能夠添加LLVM源,從源裏安裝。

    # LLVM source
    deb http://llvm.org/apt/wheezy/ llvm-toolchain-wheezy main deb-src http://llvm.org/apt/wheezy/ llvm-toolchain-wheezy main

     
  4. 編譯ycm_core。先去安裝一個 cmake 工具。

    編譯:

    $ cd ~/.vim/bundle/YouCompleteMe $ ./install.sh --clang-completer --system-libclang (直接用也是能夠的~) 

    注意

    若是不使用 --system-libclang 參數,則ycm會本身下載Ubuntu x64的clang+llvm-3.3的二進制包,這在一些平臺會有兼容問題。

    編譯過程也能夠不使用install.sh腳本。則使用以下命令:

    $ mkdir ycm_build
    $ cd ycm_build $ cmake -G "Unix Makefiles" -DEXTERNAL_LIBCLANG_PATH=/path/to/libclang.so . ~/.vim/bundle/YouCompleteMe/cpp $ make ycm_core $ make ycm_support_libs

     
  5. 安裝Eclim來處理java。下載 Eclim 2.2.6 ,安裝Eclim 2.2.x要求Eclipse 4.2.x。在Mac下直接雙擊在圖形界面安裝便可。


     

  6. 在.vimrc中增長一些配置。

    let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py' let g:EclimCompletionMethod = 'omnifunc' 

    修改.ycm_extra_conf.py文件,註釋掉下面代碼,開啓對C++標準庫的支持。

    #try:
    # final_flags.remove( '-stdlib=libc++' ) #except ValueError: # pass

     

使用YCM (對java用戶配置)

對於類C語言和Python,YCM能夠直接使用,對於Java,須要先啓動Eclim。

下面主要說說用Eclim+YCM開發Java工程的方式。

  1. 首先啓動Eclim服務,執行/Users/yeolar/.eclipse/org.eclipse.platform_4.2.0_119745494/eclimd 。

    爲了方便,能夠在~/.bash_profile中添加別名:

    alias eclimd='/Users/yeolar/.eclipse/org.eclipse.platform_4.2.0_119745494/eclimd 2>&1 1>/dev/null &' 
  2. 能夠驗證一下Eclim的安裝:

    :PingEclim       " 服務是否正常 :EclimValidate " 驗證vim配置有效 
  3. 建立Java工程:

    :ProjectCreate /path/to/project -n java 

    建立工程會自動建立.classpath、.project文件和src目錄。可使用 :ProjectList 查看工程列表。

    添加工程的源代碼路徑能夠在.classpath文件中使用 :NewSrcEntry path/to/new/src 完成。默認在工程建立時已經添加了src目錄。

  4. 編寫代碼。正常編寫便可,由於已經在YCM中添加了Eclim的相關配置,因此自動完成功能已經和YCM的一致。更多用法能夠參考 http://eclim.org/vim/java/index.html 。

相關文章
相關標籤/搜索