版權(quán)聲明:本文為 cdeveloper 原創(chuàng)文章笛臣,可以隨意轉(zhuǎn)載,但必須在明確位置注明出處隧饼!
讀這篇博客你能學(xué)到些什么沈堡?
這篇博客主要介紹 vim 常用插件的安裝配置方法,你可以學(xué)到下面這些內(nèi)容:
- 掌握 vim 安裝插件的方法燕雁,即使系統(tǒng)不同诞丽,也能有把握安裝成功
- 掌握常用 vim 插件的配置和使用方法
- 通過本篇博客學(xué)會類比,掌握解決問題的有效方法
我最想教你的是如何去思考拐格,遇到問題如何使用「英文搜索 + Google + stackoverflow + GitHub + 官網(wǎng)」自己去解決的能力僧免。我希望當(dāng)你看完我的文章,以后再遇到問題的時候捏浊,能夠首先嘗試自己解決懂衩,以此形成一套自己的方法,這才是最重要的!
當(dāng)然浊洞,這篇文章介紹的 vim 插件安裝配置方法也很有用牵敷,也要學(xué)會,下面正式開始沛申,別有壓力劣领,我的方法很簡單姐军。
為何需要安裝 vim 插件铁材?
一句話:既能提高你的編程效率,也能提高你的逼格奕锌!心動了嗎著觉,心動不如行動哦,看完之后一定要去實踐惊暴。
簡單的安裝方法 Vundle
我使用的非常簡單的 Vundle
來管理 vim 的插件饼丘,首先我們先來安裝 Vundle。在 Linux 下辽话,開源軟件是主流肄鸽,所以我們先到 GitHub
上看看有沒有 Vundle 這個東西,經(jīng)過搜索還真找到了(如果沒有找到油啤,我會去 Google 上搜索 How to install Vundle to Linux
):
Vundle 地址:https://github.com/VundleVim/Vundle.vim
我在它的主頁上看到了官方的英文安裝文檔典徘,因為我平常經(jīng)常閱讀英文文檔,所以很容易就安裝完成了益咬,你也可以先嘗試自己安裝逮诲,下面是我根據(jù)官方文檔總結(jié)的安裝方法(其實就是翻譯一下):
1.如果你沒有安裝 git,先安裝它:
sudo apt-get install git
2.使用 git 安裝 Vundle 到 ~/.vim/bundle/Vundle.vim
目錄下:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
3.添加官方文檔提供的配置信息到 ~/.vimrc
中:
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
...
配置不止這些幽告,后面還有很多梅鹦,這里就不列出來了,你只需要將官方文檔提供的配置信息復(fù)制到你的 ~/.vimrc
中即可冗锁,原理不要求了解齐唆。
4.打開 vim,第一次安裝默認插件:
# 只在終端鍵入 vim冻河,后面什么都不加
vim
# 然后鍵入下面的命令
:PluginInstall
# 之后等待安裝完成箍邮,[ :q ] 來退出即可
只需要這簡單的 4 步即可,通過安裝 Vundle芋绸,我想讓你知道一個安裝軟件的思路:就是去看軟件的官方安裝文檔媒殉。因為,所有博客的安裝方法幾乎都是參考官網(wǎng)的摔敛,我的也不例外廷蓉,但是官方文檔一般都是英文的,這就是為什么你要學(xué)好英語的原因。
需要安裝的 4 個常用插件
下面這 4 個插件是我平常比較常用的桃犬,這里推薦給大家刹悴。
1. tagbar
這個插件可以瀏覽當(dāng)前文件的標(biāo)簽,地址在 GitHub 上:tagbar攒暇,效果如下:
2. nerdtree
這個插件可以瀏覽當(dāng)前文件所在的目錄土匀,地址在 GitHub 上:nerdtree,效果如下:
3. vim-airline
這個插件可以使得你的 vim 狀態(tài)欄更高逼格形用,同時也提供一些優(yōu)秀的顯示功能就轧,地址在 GitHub 上:vim-airline,效果如下(官方的圖):
4. minibufexpl
這個插件可以允許多個代碼窗口切換或分屏使用田度,地址在 GitHub 上:minibufexpl妒御,效果如下(官方的圖):
下面介紹安裝和配置方法。
安裝和配置方法
安裝:因為我們使用 Vundle 來管理插件镇饺,這種方法安裝插件比較簡單乎莉,只需要在 ~/.vimrc
文件中加上配置信息,然后打開 vim奸笤,鍵入 :PluginInstall
來等待安裝完成即可惋啃。
配置:所有的插件配置信息都可以自定義,我是在每個插件的官方文檔上學(xué)到如何配置插件的监右,我建議你也使用這種方法边灭,可以提高你的學(xué)習(xí)能力和閱讀英文文檔的能力,例如 tagbar 的官方文檔秸侣,不要怕看不懂存筏,你不嘗試看,永遠都看不懂味榛。
注意:我建議你安裝一個椭坚,配置一個,然后立刻學(xué)會使用這個插件搏色,不要一下全部安裝善茎,結(jié)果不會使用搞的一團糟...
下面是具體的安裝配置過程。
1.安裝 tagbar 插件
1.該插件需要先安裝 ctags
sudo apt-get install ctags
2.添加插件和其配置信息到 ~/.vimrc
中
# ~/.vimrc
...
# 添加 tagbar 插件
Plugin 'majutsushi/tagbar'
# 配置 tagbar 插件
let g:tagbar_ctags_bin='ctags' "ctags 程序的路徑
let g:tagbar_width=30 "窗口寬度設(shè)置為 30
let g:tagbar_left=1 "設(shè)置在 vim 左邊顯示
let g:tagbar_map_openfold = "zv" "按 zv 組合鍵打開標(biāo)簽频轿,默認 zc 關(guān)閉標(biāo)簽
"如果是 C 語言的程序的話垂涯,tagbar 自動開啟
autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen()
"我設(shè)置 F2 為打開或者關(guān)閉的快捷鍵,根據(jù)你的習(xí)慣更改
nnoremap <silent> <F2> :TagbarToggle<CR>
...
根據(jù)我的配置航邢,tagbar 基本使用方法如下:
- 「上下方向健」移動光標(biāo)
- 「zc」 關(guān)閉標(biāo)簽耕赘,「zv」 打開標(biāo)簽
- 按「空格」在狀態(tài)欄顯示當(dāng)前標(biāo)簽的聲明
- 按 「p」定位到該標(biāo)簽的代碼處,但不移動焦點
- 「回車」移動焦點到當(dāng)前標(biāo)簽所在的代碼處
其他用法膳殷,參考 tagbar 官方文檔操骡。
2.安裝 nerdtree 插件
這個插件安裝比較簡單,直接添加并配置即可,這些配置信息都是我從 nerdtree 的官方文檔上根據(jù)自己的需求復(fù)制的册招,你可能說有些配置好復(fù)雜啊岔激,我不懂原理怎么辦?其實我也不懂是掰,我也不需要懂虑鼎,我的目的是使用插件,而不是開發(fā)插件键痛,要搞清楚初衷哦炫彩。
# ~/.vimrc
...
# 添加 nerdtree 插件
Plugin 'scrooloose/nerdtree'
# 配置 nerdtree 插件,
let NERDTreeWinPos='right' "設(shè)置在 vim 右側(cè)顯示
let NERDTreeWinSize=30 "設(shè)置寬度為 30
let g:NERDTreeDirArrowExpandable = '?'
let g:NERDTreeDirArrowCollapsible = '?'
autocmd vimenter * NERDTree
wincmd w
autocmd VimEnter * wincmd w
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
" 我設(shè)置 F3 為打開或者關(guān)閉的快捷鍵散休,你可以自定義
map <F3> :NERDTreeToggle<CR>
...
根據(jù)我的配置媒楼,nerdtree 基本使用方法如下:
- 「上下方向鍵」移動光標(biāo)
- 「回車」打開新的文件或目錄
詳細用法,參考 nerdtree 官方文檔戚丸。
3.安裝 vim-airline 插件
這個插件的安裝非常簡單,也不需要很多的配置扔嵌。
# 安裝 vim-airline
Plugin 'bling/vim-airline'
# 配置
set laststatus=2
這個插件主要起指示作用餐蔬,基本不需要主動去操作衣摩,詳細的介紹參考 vim-airline 官方文檔
4.安裝 minibufexpl 插件
安裝完這個插件,我們可以使用 Crtl + 方向鍵
來在各個窗口之間相互切換,非常的方便店诗。
# 安裝插件
Plugin 'fholgado/minibufexpl.vim'
# 配置插件信息,官方文檔提供配置信息
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
let g:miniBufExplMoreThanOne=0
# 注意:這里設(shè)置使用 Ctrl + 上下左右來切換窗口余赢,請查看官方文檔來自定義
noremap <C-Down> <C-W>j
noremap <C-Up> <C-W>k
noremap <C-Left> <C-W>h
noremap <C-Right> <C-W>l
map <T> :MBEbp<CR>
map <R> :MBEbn<CR>
根據(jù)我的配置宿稀,基本使用方法如下:
- 「上下左右方向鍵」來切換窗口
- 切換到 minibufexpl 頂部狀態(tài)欄,按「左右方向鍵」來選擇窗口嵌洼,「回車」打開并覆蓋當(dāng)前窗口案疲,「s」分割一個新的窗口
詳細用法,參考 minibufexpl 官方文檔麻养。
安裝遇到問題怎么辦褐啡?
因為大家的機器配置不同,可能在我的電腦上安裝沒有問題鳖昌,但是到別的電腦上就有問題了备畦。如果你遇到問題,請自己嘗試用 「英文搜索 + Google + stackoverflow + GitHub + 官方文檔」的方式自己解決许昨,一方面是因為一般 90% 的問題都有很好的解決方案懂盐,因為你遇到的問題別人之前就遇到過了,并且已經(jīng)有了正確的答案糕档,另一方面是因為別人也沒有義務(wù)來幫助你啊莉恼,別人也有事情要忙的,除非你給 Ta 些費用。
我平常遇到問題类垫,除非上面這種方法解決不了司光,否則我基本不會問別人(如果這種方法都解決不了,你問的人很有可能也不會的~)悉患。所以残家,當(dāng)你習(xí)慣了這種解決問題的方法,請不要太感謝我售躁,如果你現(xiàn)在還不習(xí)慣坞淮,那么可能你的閱讀英文文檔的能力還要加強,沒關(guān)系陪捷,從現(xiàn)在開始培養(yǎng)吧回窘。
完整的 .vimrc 配置文件
這是我的 ~/.vimrc
文件的內(nèi)容,你可以下載來參考市袖。
總結(jié)
這篇文章只介紹了 4 個常用的插件啡直,還有 2 個常用插件我沒有寫出來,留作后面介紹苍碟,主要是防止內(nèi)容過多酒觅,另外也因為那 2 個插件安裝稍微有點麻煩,這兩個插件分別是:
- 號稱 vim 史上最難安裝的代碼自動補全插件:
YouCompleteMe
微峰,其實掌握了方法也不難舷丹。 - vim 的 MarkDown 插件,我就是用這個 vim 插件來寫博客的蜓肆,逼格很高颜凯!
另外,讀完之后仗扬,如果你還沒有實踐的話症概,我并不希望你記住具體的步驟,我希望你記住的是安裝這些插件的思路:GitHub + 官方文檔厉颤。作為類比穴豫,還是那句話,我希望你在以后遇到問題時能借助 「英文搜索 + Google + stackoverflow + GitHub + 官方文檔」的方式先嘗試自己解決逼友,我最希望的是你在看我文章的過程中總結(jié)一套適合自己的學(xué)習(xí)和解決問題的方法精肃,因為實際的工作就是以解決問題為驅(qū)動的,希望你能重視這一點帜乞。
最后司抱,感謝你在百忙之中的閱讀,我們下次再見 :)