1. 程式人生 > >Ubuntu 搭建強大的 IDE —— Vim + Vundle + 外掛(下)

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

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

$ cd ~/.vim/bundle/YouCompleteMe

$ ./install.sh --clang-completer
WARNING: this script is deprecated. Use the install.py script instead.
ERROR: please install CMake and retry.

$ ./install.py --clang-completer
ERROR: 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-completer
Searching Python 2.7 libraries...
Found Python library: /usr/lib/python2.7/config/libpython2.7.so
Found 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 - done CMake 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 —— 顏色主題

相關推薦

Ubuntu 搭建強大IDE —— Vim + Vundle + 外掛

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

推薦幾款我一直在用的chrome外掛

6. Pocket 可以很方便的儲存文章、視訊等供以後檢視,即實現了“Read it later”功能。有了 Pocket,您可以將所有想下次讀的內容匯聚到一個地方,然後在任何裝置上隨時檢視。Pocket還提供了另外一個功能,即可以通過傳送郵件的方式來儲存內容(不需要點選這個外掛),傳送連結URL到

Vagrant 搭建跨平臺的 PHP 開發環境 安裝 ubuntu 虛擬機器

Vagrant是一個軟體,可以自動化虛擬機器的安裝和配置流程,支援 VirtualBox 、VMware 、AWS 作為虛擬機器以 VirtualBox 為例,步驟如下: Windows 10 系統中 需要關閉 Hyper-v , 小米筆記本中 biso 中找不到 虛擬化配置,關閉 Hyper-v 就可以了

Vagrant 搭建跨平臺的 PHP 開發環境 安裝 ubuntu 虛擬機

刪除 des 添加 ans com 操作系統 nsh list 找不到 Vagrant是一個軟件,可以自動化虛擬機的安裝和配置流程,支持 VirtualBox 、VMware 、AWS 作為虛擬機以 VirtualBox 為例,步驟如下: Windows 10 系統中 需要

Ubuntu 系統Chrome瀏覽器離線安裝外掛谷歌訪問助手

       最近使用Ubuntu系統, 想安裝Chrome訪問外網--使用谷歌訪問助手. 在Windows系統中,安裝的Chrome瀏覽器中,使用者登入之後可以記錄安裝的外掛,在新系統中登入時自動安裝外掛.但是,Ubuntu環境下的Chr

強大的Resharp外掛

  使用VS有段時間了,一直深深的折服於其強大的功能。之前一直聽說有Resharp這個工具,小豬一直也沒有太在意。直到今天…… 下載安裝: http://www.jetbrains.com/resharper/download/ http://www.ttrjba.com/ind

開發IDEA定位到.class檔案的外掛外掛環境搭建的坑@gradle

昨天折騰了好幾個小時,覺得還是把一些細節也一起記錄下來。 1、gradle的環境配置,設定使用本地的gradle 我使用的是本地的gradle,沒有用gradle wrapper 是以前裝的,版本是4.3 IDEA設定為本地版本,勾選use local gradle dis

Linux伺服器的配置、維護、環境搭建和安全配置之五Memcached外掛centos7

linux安裝memcached 外掛(centos7) memcached的安裝主要有伺服器端和客服端。伺服器端的安裝就是在伺服器(一般都是linux系統)上安裝Memcache實現資料的儲

PHP 強大IDE vim版phpstrom配置 (第二版)

以前寫過一篇文章就關於整合 vim 和 phpstrom 的。vim的特點就寫程式碼解放滑鼠,速度極快。但是缺點也很明顯沒有IDE的一些強的功能。以前也用過好多IDE,感覺都沒有 phpstrom

搭建高可用mongodb集群——配置mongodb

st2 cast 取數據 tro .org 功能 mongodb rails fast 搭建高可用mongodb集群(一)——配置mongodb 在大數據的時代,傳統的關系型數據庫要能更高的服務必須要解決高並發讀寫、海量數據高效存儲、高可擴展性和高可用性這些難題。不過

搭建高可用mongodb集群—— 分片

tor cat address pad 業務 [] 日誌信息 ast mongo 搭建高可用mongodb集群(四)—— 分片 按照上一節中《搭建高可用mongodb集群(三)—— 深入副本集》搭建後還有兩個問題沒有解決: 從節點每個上面的數據都是對數據庫全量拷貝,

centos7搭建ELK Cluster日誌分析平臺

場景 git centos7 beat images 下載地址 install posit src 應用場景:ELK實際上是三個工具的集合,ElasticSearch + Logstash + Kibana,這三個工具組合形成了一套實用、易用的監控架構,      很多公司

Ubuntu 16.04安裝Gufw防火墻

table 限制 路由 按鈕 其他 ubuntu 在家 apt www 繼上一篇文章http://www.cnblogs.com/EasonJim/p/6851241.html講解的UFW防火墻是沒有界面的,下面將介紹在Gufw的GUI配置功能。 Ubuntu簡化了ipt

vim編輯器

vim編輯器命令vim編輯器基本命令(上) 三種模式: 編輯模式、輸入模式、末行模式 默認為編輯模式 模式轉換: 編輯模式-->輸入模式: i:insert,在光標所在處輸入 a:append,在光標出後方輸入 o:在光標所在處的下方打開一個新行;

【Selenium-WebDriver自學】Selenium-IDE測試創建

html 位置 當我 模塊 mage baidu 用例 問題 測試 =======================================================================================================

CentOS 6.5搭建Smokeping平臺

smokeping1、添加監控點[[email protected]/* */ ~]# vi /usr/local/smokeping/etc/config ##添加以下內容## + Other menu = 三大網絡監控 title = 監控統計 ++ dianxin menu = 電信網絡監

github+hexo搭建自己的博客網站主題之外的一些基本配置(圖片位置,文章目錄功能)

100% setattr border color fff scale 進行 自己 num 使用的yilia主題之後,還需要進行自己的定制配置 1、圖片的位置 比如打賞的支付寶二維碼圖片,是在當前博客的source/assets/img/下 (不是當前主題) 配

Building Vim from source

ack xsubpp editor -a alt tags gui github clu Compiling Vim from source is actually not that difficult. Here‘s what you should do: First

github+hexo搭建自己的博客網站進階配置(搜索引擎收錄,優化你的url)

主動 home perm roo 如何 url 文檔 con tom 詳細的可以查看hexo博客的演示:https://saucxs.github.io/綁定了域名: http://www.chengxinsong.cnhexo+github博客網站源碼(可以clone,運

github+hexo搭建自己的博客網站註意事項避免read.me,CNAME文件的覆蓋,手動改github page的域名

覆蓋 ron mage roo span 文件夾 都是 系列 .html 詳細的可以查看hexo博客的演示:https://saucxs.github.io/綁定域名可以查看:http://www.chengxinsong.cn可以查看在github上生成的靜態文件(如果覺