??VIM編輯器被稱為編輯器之神,那作為一個(gè)程序員就應(yīng)該做一個(gè)征服神的人!本文會教你搭建一個(gè)能夠自動(dòng)補(bǔ)全、變量查找氛雪、目錄顯現(xiàn)等不輸IDE的VIM。
1. 主題
??刀客喜歡的主題有兩個(gè):molokai 凝赛、Solarized
1.1 molokai
??molokai的特點(diǎn)是色彩艷麗注暗,設(shè)置為暗色背景很適合程序員開發(fā)。
并且網(wǎng)上的教程都是使用Bundle進(jìn)行安裝墓猎,但刀客嘗試后發(fā)現(xiàn)自己無法正常安裝捆昏。還是一步步的從GIt進(jìn)行安裝更靠譜點(diǎn)。
- git clone git@github.com:tomasr/molokai.git
- 將colors 文件夾的molokai.vim 拷貝到~/.vim/colors
- 在~/.vimrc中添加如下語句:
colorscheme molokai
set t_Co=256
set background=dark
噔噔噔噔毙沾!打開vim編輯器是不是變得很炫酷了骗卜?
1.2 Solarized
??Solarized主題是使用最廣泛的vim主題。但刀客還是更喜歡molokai一點(diǎn)左胞。
- git clone git@github.com/altercation/vim-colors-solarized
- 將colors 文件夾的molokai.vim 拷貝到~/.vim/colors
- 在~/.vimrc中添加如下語句:
syntax enable
set background=dark
colorscheme solarized
快快地打開你的vim編輯器看一下吧寇仓。
2. VIM 安裝
- 作為一個(gè)程序員怎么能夠不會使用源碼這么高(苦)大(逼)的軟件安裝方式呢?好吧烤宙!是因?yàn)槲乙惭bYCM(YouCompleteMe)代碼自動(dòng)不全工具需要Python的支持遍烦,但通過命令行安裝的VIM一般不支持Python。
2.1 卸載VIM
??如果你的電腦上安裝著vim,你需要完全卸載之前的VIM,方法很簡單也很粗暴:
sudo apt-get remove vimsudo apt-get remove vim-runtime
sudo apt-get remove vim -tiny
sudo apt-get remove vim-common
sudo apt-get remove vim-doc
sudo apt-get remove vim-script
保證把vim卸載的渣渣都不剩躺枕。
2.2 安裝
??先安裝一下依賴吧服猪,很簡單,反正也不多:
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev
libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev
python-dev python3-dev ruby-dev liblua5.1-dev libperl-dev git
??然后下載vim,之后進(jìn)行配置、編譯拐云、安裝罢猪,三板斧嘛,開始:
cd ~
git clone https://github.com/vim/vim.git
cd vim
./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp=yes \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu \
--enable-python3interp=yes \
--with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64_linux-gnu \
--enable-perlinterp=yes \
--enable-luainterp=yes \
--enable-gui=gtk2 --enable-cscope --prefix=/usr
make VIMRUNTIMEDIR=/usr/share/vim/vim80
cd ~/vim
sudo make install
齊活叉瘩!
3.安裝YCM
??VIM被稱為編輯器之神膳帕,而YCM則是vim中最難裝的插件,簡直就是神的腳后跟薇缅。
在網(wǎng)上搜索YCM的安裝危彩,基本都是使用Bundle安裝攒磨,可是我試了好幾次還是安裝不上。算了還是苦逼地從源碼安裝吧恬砂。
??經(jīng)過刀客我的嘗試咧纠,終于從源碼安裝上了YCM!
3.1 下載YCM
??首先將YCM從git下載到本地,我選了 ~/.vim/bundle/
泻骤。因?yàn)橹巴ㄟ^Bundle安裝沒有成功,正好有這么一個(gè)文件夾梧奢,沒有的自己見一個(gè)就是了狱掂。。亲轨。趋惨。
# 下載 (在 `~/.vim/bundle` 目錄下)
git clone --recursive git@github.com/Valloric/YouCompleteMe.git
# 檢查完整性(在 `~/.vim/bundle/YouCompleteMe` 目錄下)
git submodule update --init --recursive
這樣就開始編譯安裝了是么? NO No NO!,我們還需要安裝依賴呢
#
sudo apt-get install llvm-5.0 clang-5.0 libclang-5.0-dev libboost-all-dev
我統(tǒng)一選擇了5.0版本惦蚊,你要根據(jù)自己的軟件源里的版本進(jìn)行安裝哦器虾。
3.3 編譯安裝
在家目錄下新建一個(gè)安裝目錄,然后進(jìn)行執(zhí)行一下命令:
mkdir ~/.ycm_build
cd ~/.ycm_build
cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DUSE_SYSTEM_LIBCLANG=ON . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
cmake -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DEXTERNAL_LIBCLANG_PATH=/usr/lib/x86_64-linux-gnu/libclang-5.0.so . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
cmake --build . --target ycm_core --config Release
將配置文件拷貝到 ~/.vim
cp ~/.vim/bundle/YouCompleteMe/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'
打開你的編輯器看一下吧蹦锋!
4.安裝ctags和taglist
??眾所周知兆沙,在Linux閱讀大型源碼是一件比較困難的事情,我們可以使用SourceInsigh或者UnderStand莉掂,但是總有一種被強(qiáng)奸的感覺葛圃,因?yàn)檫@樣做不Linux啊。
??總的來說憎妙,ctags負(fù)責(zé)將源碼中的各個(gè)變量生成各個(gè)標(biāo)簽库正,我們可以隨時(shí)查看調(diào)用位置。而taglist基于ctags提供了結(jié)構(gòu)化瀏覽的功能厘唾,我們可以查看一個(gè)結(jié)構(gòu)體中有哪些變量等等褥符。
4.1 安裝ctags
使用命令行:
sudo apt-get install ctags
或者從github上下載源碼后,使用三板斧:
./configure && make && make install
在.vimrc
中添加
map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
我們就可以進(jìn)入代碼根目錄后抚垃,打開Vim喷楣,按下Ctrl-F12快捷鍵自動(dòng)生成tags文件。命令執(zhí)行完后讯柔,會在源代碼目錄生成tags文件抡蛙。Vim默認(rèn)會自動(dòng)讀取當(dāng)前目錄下的tags文件,所以不需要修改~/.vimrc文件魂迄。
此時(shí)粗截,我們已經(jīng)具有定義跳轉(zhuǎn)的功能了。有兩組快捷鍵是最常用的捣炬。
Ctrl-] 跳轉(zhuǎn)到光標(biāo)所在符號的定義熊昌。
Ctrl-t 回到上次跳轉(zhuǎn)前的位置绽榛。
更多功能通過命令man ctags或在Vim命令行下運(yùn)行help ctags查詢。
4.2 安裝Taglist
從下方網(wǎng)址下載talist包婿屹,解壓打~/.vim
灭美,注意的是如果之前已經(jīng)存在了doc
或者plugin
文件夾,我們只需要將對應(yīng)文件放置到對應(yīng)文件夾即可昂利。
然后在 .vimrc
中添加如下兩句:
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
5 安裝NERDTree
??我們使用VIM進(jìn)行大型源碼編程的時(shí)候總是無法看到目錄結(jié)構(gòu)届腐,這是一件比較苦惱的事情,那么我們就可以使用NERDTree來解決蜂奸。方法很簡單:
git clone https://github.com/scrooloose/nerdtree.git ~/
然后將目錄中的文件放置到對應(yīng)的文件夾即可犁苏。進(jìn)入 vims使用命令 NERDTreeToggle
看看目錄結(jié)構(gòu)出來了沒有。我們也可以在.vimrc
中設(shè)置快捷鍵
map <F6> :NERDTreeToggle<CR>
這樣就可以使用 F6
打開或者關(guān)閉目錄結(jié)構(gòu)了扩所。