VIM自動補全外掛程式 - YouCompleteMe--"大神級vim補全外掛程式"

來源:互聯網
上載者:User

標籤:style   http   java   color   使用   strong   

VIM自動補全外掛程式 - YouCompleteMe

序言

    vim 之所以被稱為編輯器之神多半歸功於其豐富的可DIY的靈活外掛程式功能,( 例如vim下的這款神級般的代碼補全外掛程式YouCompleteMe), 使用VIM的使用者也多半感覺 IDE開發工具不夠輕便,且IDE往往只支援特定的幾種語言或者特定系統平台,多數人用來用去,還是覺得VIM最順手,用起來最舒心.

  下面這個VIM的自動補全外掛程式——YouCompleteMe,為我們彌補了vim不能自動補全的缺憾。YCM不僅僅對C族語言的支援非常好,而且它是一個很強大的VIM自動補全架構,可以和Eclim、Jedi配合,對Java、Python等語言提供非常好的支援。

 

 YouCompleteMe 完整的安裝步驟如下:

  1. 升級VIM到7.3.584+,並且支援python內嵌指令碼。584是補丁的編號,一般我們裝的VIM都是不帶補丁的。可以選擇打補丁,不過這樣比較麻煩,我選擇了直接安裝VIM 7.4(下載當前的 vim-7.4a )。

    $ ./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做外掛程式管理,不過我之前一直未使用。

    首先安裝Vundle:

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

    配置 ~/.vimrc:

    set nocompatible               " be iMprovedfiletype 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:

    $ vim +BundleInstall +qall
  3. 升級libclang到3.2以上版本,可以通過Xcode來升級。

    對於Debian系統,可以添加LLVM源,從源裡安裝。

    # LLVM sourcedeb http://llvm.org/apt/wheezy/ llvm-toolchain-wheezy maindeb-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 。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.