Ubuntu 搭建強大的 IDE —— Vim + Vundle + 外掛程式(下)

來源:互聯網
上載者:User

在上一節(http://blog.csdn.net/lu_embedded/article/details/76732965)我們已經通過 Vundle 下載、安裝了一些外掛程式,這些外掛程式有一些可以直接用、有一些需要配置、有一些則需要編譯,下面我們一一來看一下常用的一些外掛程式應該怎樣用起來吧。

  首先要講的是 YouCompleteMe,它應該是最難安裝的一個外掛程式了。vundle 已經幫我們做了一部分工作,但還不能使它正常工作起來,對於 C/C++ 使用者來說,我們還需要編譯 ycm_core.so 和 libclang.so。編譯方法如下:

$ cd ~/.vim/bundle/YouCompleteMe$ ./install.sh --clang-completerWARNING: this script is deprecated. Use the install.py script instead.ERROR: please install CMake and retry.$ ./install.py --clang-completerERROR: please install CMake and retry.

  YouCompleteMe 目錄下有兩個安裝指令碼,install.sh 和 install.py,顯然根據執行情況來看,install.sh 已經失效了,最後執行的是 install.py。但是,需要 CMake 的支援。
  於是我們 apt-get 一下吧:

$ sudo apt-get install cmake

  很可惜,對於 Ubuntu 12.04 的使用者來說,這種方法並不行。因為 install.py 要求的 CMake 需要 2.8.11 以上版本。所以我們還是手動安裝一下吧:

$ wget http://www.cmake.org/files/v2.8/cmake-2.8.12.1-Linux-i386.tar.gz$ tar zxvf cmake-2.8.12.1-Linux-i386.tar.gz$ cd cmake-2.8.12.1-Linux-i386$ sudo cp bin/* /usr/bin/$ sudo cp -r share/cmake-2.8 /usr/share/

  好了,現在可以繼續執行 ./install.py --clang-completer ,可惜還不成功,提示如下:

$ ./install.py --clang-completerSearching Python 2.7 libraries...Found Python library: /usr/lib/python2.7/config/libpython2.7.soFound Python headers folder: /usr/include/python2.7-- The C compiler identification is GNU 4.6.3-- The CXX compiler identification is GNU 4.6.3-- Check for working C compiler: /usr/bin/cc-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Check for working CXX compiler: /usr/bin/c++-- Check for working CXX compiler: /usr/bin/c++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - doneCMake Error at CMakeLists.txt:217 (message):  Your C++ compiler does NOT fully support C++11.  ......

  顯然,這次是由於 C++ 編譯器不完全支援 C++ 11 造成的,因為 g++ 4.8 以上版本才完全支援 C++11 啊。而 Ubuntu 12.04 中用 apt-get 安裝的是 4.6 版本的,所以還是手動升級一下 gcc 和 g++ 吧。具體方法參考:http://www.linuxidc.com/Linux/2014-03/97445.htm。
  哎呀。我真是命苦,還以為萬事大吉了,結果還是出錯了:

......g++: internal compiler error: Killed (program cc1plus)Please submit a full bug report,

  經檢查發現是因為我的虛擬機器記憶體不足呀,編譯 Linux 都沒問題,沒想到編譯這個會出問題。。。好吧,面對這個情況,我們可以加大虛擬機器的記憶體配置,或者臨時使用交換分區來解決。
  再次執行 ./install.py --clang-completer,這次終於順利編譯通過了。忘了截圖。。。不過沒關係,我們在 third_party/ycmd/ 目錄看到 libclang.so 和 ycm_core.so 就可以了。

$ cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd/$ ls *.so*libclang.so.4    libclang.so.4.0    ycm_core.so

  還差一步,運行 vim 的時候我們發現缺少 .ycm_extra_conf.py 檔案。那就拷貝一份吧:

$ cd ~/.vim/bundle/YouCompleteMe/$ cp ./third_party/ycmd/examples/.ycm_extra_conf.py ~/.vim/

  然後在 ~/.vimrc 中添加如下配置:

let g:ycm_server_python_interpreter='/usr/bin/python'let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'

  好了,開啟 vim 試一下唄。

  搞定 YouCompleteMe 就完成了一大步了,其他外掛程式的用法都比較簡單,我在這裡就大概列一下外掛程式及其作用吧。(注意:有些外掛程式存在包含與被包含的關係,有些外掛程式功能相似,因此選擇其中的一些使用即可。)
   YouCompleteMe —— 代碼補全 Syntastic —— 語法檢查 SuperTab —— 使 Tab 快速鍵具有更快捷的上下文提示功能 Ctags —— 實現變數名、函數名的跳轉(需遍曆原始碼檔案產生 tags 檔案) Cscope —— 升級版 Ctags TagList —— 顯示當前檔案中的宏、全域變數、函數等 tag(類似於 SourceInsight 的功能) Tagbar —— TagList 的替代品(更適合於 C++) AutoPairs —— 自動插入和格式化括弧 Powerline —— 狀態列 Vim-airline —— Powerline 的替代品 Echofunc —— 自動顯示函式宣告 Snipmate —— 自動插入代碼(代碼重用工具) NERDTree —— 檔案瀏覽器(樹形目錄) Ctrlp —— 檔案瀏覽器(重新定義開啟目錄和檔案的方式,更適用於大規模專案檔的瀏覽) MiniBufferExplorer —— 緩衝區檔案管理工具 NERDCommenter —— 快速注釋 Undotree —— 支援 undo 和 redo Gdbmgr —— 調試器

Molokai —— 顏色主題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.