星期六, 9月 20, 2014
Vim 自動 補完 插件 YouCompleteMe 教學 心得 新手入門 C++ C
在講正題之前,先奉上developer的github :
https://github.com/Valloric/YouCompleteMe
由於自己也是新手,如果內容有什麼不正確的地方請不吝指教 謝謝!
[ 正題開始 ]
這個暑假嘗試了很多vim的plugin
其中一個覺得還不錯的plugin : YouCompleteMe
他和以往的complete補完插件不太一樣的是 他不是去讀ctags裡面的資料
而是parse子串的內容 所以即使再打字串和comment也可以進行補完的功能
( 有些要利用 vim 的配置檔案 .vimrc 進一步配置 )
接下來就以ubuntu 14.04進行安裝,這裡介紹的是"簡易安裝模式"
再按裝這個plugin之前 我們需要利用的東西:vim 7.3.584 以上, git, Vundle, cmake, python, Vundle
linux - like 系統 安裝插件的方式是利用 :
sudo apt-get install [plugin_name]
[ 安裝 git ]
首先,在我們擁有一台 linux 作業系統的電腦時,一開始是沒有安裝 " git "
並且在安裝 "Vundle" 之前 要先裝 git
( 用git裝Vundle , Vundle 是 vim plugin 的託管插件 )
在$後面打上 sudo apt-get install git 就會開始安裝囉~
以$開頭代表終端機指令 ( command line )
[ 安裝 Vundle ]
接下來,我們安裝 Vundle : https://github.com/gmarik/Vundle.vim
$ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
然後我們輸入vim .vimrc 進行bundle的基本配置
在Vundle作者的github有.vimrc的基本配置,其中有一些Plugin可以不用使用
隨個人決定
配置好 .vimrc 後 :wq
[ 安裝 cmake ]
$ sudo apt-get install build-essential cmake
[ 安裝 python ]
$ sudo apt-get install python-dev
[ 安裝 YouCompleteMe ]
$ vim .vimrc
在 Vundle 配置的欄位下面 加上:Plugin 'Valloric/YouCompleteMe'
: wq
$ vim
然後在 vim 裡面 :PluginInstall
裝完之後 訊息顯示之後要編譯 YouCompleteMe
[ 編譯 YouCompleteMe ]
假如需要C family的補全 :
cd ~/.vim/bundle/YouCompleteMe
./install.sh --clang-completer
不需要C family補全:
cd ~/.vim/bundle/YouCompleteMe
./install.sh
[ 配置 ]
$vim .ycm_extra_conf.py
我個人是使用作者的配置模式 :
https://github.com/Valloric/ycmd/blob/master/cpp/ycm/.ycm_extra_conf.py
接下來 配置 .vimrc 這樣才能將 .ycm_extra_conf.py 讀入
let g:ycm_global_ycm_extra_conf = '~/the path/to/your/.ycm_extra_conf.py'
例如:假如我在home裡面 $vim .ycm_extra_conf.py
let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py'
接著,let g:ycm_confirm_extra_conf = 0
這樣就不用每一次開啓vim的時候都詢問是否要利用 .ycm_extra_conf.py
其餘配置可以看作者的github !
[ 假如不想用插件了 ]
只要在 .vimrc 裡面刪除 Plugin 'Valloric/YouCompleteMe' 或是註解掉這一行就可以了,但是這是利用 Vundle 管理 Plugin 的方法,實際上要刪除的話則不是這樣。
--------------------------------------------------------------------
以上是我自己安裝這個 Plugin 的方法,或許不是最佳的方式
如果有更好的配置 還請大大們分享!
謝謝收看
訂閱:
文章 (Atom)
[Paper note] Multiagent Bidirectionally-Coordinated Nets for Learning to Play StarCraft Combat Games
Paper: https://arxiv.org/abs/1703.10069 這篇論文是由 Alibaba & UCL共同發表的,並投稿到 NIPS 2017。他們發表了一個 Multi-agent framework 讓 agents 利用共同的 framew...
-
在講正題之前,先奉上developer的github : https://github.com/Valloric/YouCompleteMe 由於自己也是新手,如果內容有什麼不正確的地方請不吝指教 謝謝! [ 正題開始 ] 這個暑假嘗試了很多vim的plu...
-
如何架設一個 https server 如何架設一個 https server 最近 chatbot 聊天機器人很火紅,在 Facebook, Line, Slack, Telegram 上都能夠架設聊天機器人。我們只需要設定 callback url 就可以了。但是, 我們...
-
這是函式指標學習心得的第一篇,在這一篇中你會學習到: 1. 函式在記憶體中的情況 2. 如何宣告一個函式指標 3. 函式的宣告 4. 使用 typedef 來定義一個函式指標的類型 本篇著重在介紹函式指標,實際應用方面會在下一篇介紹 -----------...