Vim技能修煉教程(1) - 使用vundle管理插件

世界上有兩個偉大的編輯器:一個是emacs膜眠,一個是vi套菜。它們從誕生以來俯萎,一直在Unix/Linux世界得到最廣泛的支持。
盡管過了幾十年芥吟,在Windows平臺上和跨平臺上有層出不窮的后起之秀不斷挑戰(zhàn)它們的地位侦铜,比如編輯器界的Sublime Text,Ultra Editor钟鸵,Notepad++钉稍,pspad,Atom棺耍,Visual Studio Code贡未,IDE界的Eclipse, IntellJ IDEA, NetBeans等等,但是它們的地位從未動搖過蒙袍。
寫C#的最好IDE一定是Visual Studio俊卤,寫Java還是IntellJ IDEA和Eclipse更方便。但是害幅,對于其它語言和其它任務(wù)消恍,比起層出不窮的后來者,一定是emacs和vim的支持是最廣泛的以现。針對一個特定的任務(wù)狠怨,可能Sublime Text和Atom只有區(qū)區(qū)幾種插件選擇甚至是沒有,但是在vim和emacs上可以找到好多頁邑遏。

這兩種編輯器的學(xué)習(xí)曲線確實(shí)是相對比較陡的佣赖,但是,一旦修煉成功无宿,這樣的付出是絕對值得的茵汰。造成學(xué)習(xí)困難的主要原因,其實(shí)是功能太多太強(qiáng)大孽鸡。這個修煉需要花不少的精力和時(shí)間蹂午,想修成上仙甚至上神是不容易的,但是彬碱,只要堅(jiān)持下去豆胸,最終一定可以做到。好了巷疼,廢話不多說了晚胡,我們開始修煉之旅。

修仙之前,我們先享受一下凡人的生活估盘。我們先看看如何利用各位上仙上神做好的法器瓷患,也就是寫好的腳本。

使用vundle管理插件

做為人類遣妥,我們先不研究上仙上神們是如何擺放腳本位置的擅编,我們統(tǒng)一通過vundle來管理其余插件。

首先我們下載Vundle箫踩,通過git命令爱态,非常簡單:

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

下面我們再通過修改/.vimrc來配置一下,把下面原封不動抄到/.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()

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on

我們只需要在call vundle#end()那一行之前境钟,加上我們需要的plugin的內(nèi)容就可以了锦担。
下面我們開始vim plugin的尋寶之旅,第一站當(dāng)然是官網(wǎng)慨削!

vim插件寶庫之官方網(wǎng)站

vim的第一集散地當(dāng)然是官網(wǎng):http://www.vim.org/scripts/index.php

比如我寫C/C++比較多洞渔,我們就先拿c.vim來試試水。
官網(wǎng)上的插件的git庫都放在這里:http://vim-scripts.org/vim/scripts.html
對于官網(wǎng)上的插件理盆,我們直接使用vim-scripts.org上的目錄名就好痘煤,比如c.vim,taglist.vim之類的猿规,然后修改~/.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

Plugin 'c.vim'

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on

重啟vim衷快,讓新的然后我們運(yùn)行:PluginInstall命令,c.vim插件就被自動安裝上了姨俩。
我們試驗(yàn)一下c.vim的強(qiáng)大功能吧蘸拔,我們創(chuàng)建一個新的C++文件,比如test2.cpp环葵,運(yùn)行:

vim test2.cpp

打開之后调窍,發(fā)生了什么?c.vim插件已經(jīng)按照模板自動幫我們生成的文檔頭:

/*
 * =====================================================================================
 *
 *       Filename:  test2.cpp
 *
 *    Description:
 *
 *        Version:  1.0
 *        Created:  2017/06/23 12時(shí)24分15秒
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  YOUR NAME (),
 *   Organization:
 *
 * =====================================================================================
 */
#include <stdlib.h>

比如我們要寫一個for循環(huán)张遭,試試輸入\i0邓萨,vim會提示輸入一個變量名,我們就用i吧菊卷,于是就生成了這樣的代碼塊:

        for ( i = 0; i < n; i += 1 ) {
        }

更多的好玩的快捷鍵功能缔恳,可以參考這個:https://wolfgangmehner.github.io/vim-plugins/csupport/c-hotkeys.pdf

更完整的功能,可以參考文檔:https://wolfgangmehner.github.io/vim-plugins/doc/csupport.html

也可以通過:help csupport在vim中查看洁闰。

vim插件寶庫之github

除了官網(wǎng)之外歉甚,github上也是vim插件的大型集散地。很多官網(wǎng)上的插件扑眉,在github上也有鏡像纸泄。
vundle對于github的支持也是很好的赖钞,比如NERD tree的地址是:https://github.com/scrooloose/nerdtree,我們可以省略github地址聘裁,直接輸用戶名和庫名就可以了雪营,例:

     Plugin 'scrooloose/nerdtree'

凡git庫皆可支持

一般來說,官網(wǎng)和github上已經(jīng)足夠用了咧虎。但是卓缰,總是有一些特殊需求,比如公司內(nèi)部使用之類的砰诵。這時(shí)候,我們只要附上git的地址就好捌显,例:

Plugin 'git@gitlab.alibaba-inc.com:ziying.liuziying/studyvim.git'

本地目錄

如果上面幾種方式都不支持茁彭,比如是我們自己的寫的插件,不想放到網(wǎng)上去扶歪,我們還可以指定本地目錄的方式來使用插件理肺。

例:

Plugin 'file:///home/gmarik/path/to/plugin'

Vundle簡明手冊

手動方式

就是將插件名寫進(jìn).vimrc,然后通過:PluginInstall命令去安裝

  • PluginList命令:列出已經(jīng)安裝的插件善镰。

下面是我安裝的一些插件:

" My Plugins
Plugin 'VundleVim/Vundle.vim'
Plugin 'd.vim'
Plugin 'taglist.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'c.vim'
Plugin 'OmniCppComplete'
Plugin 'clang-complete'
Plugin 'AutoComplPop'
Plugin 'bufexplorer.zip'
Plugin 'SuperTab'
Plugin 'SrcExpl'
Plugin 'molokai'
Plugin 'omlet.vim'
Plugin 'cpp.vim'
Plugin 'thinca/vim-logcat'
Plugin 'vim-scripts/prop.vim'
Plugin 'mglb/vim-android-syntax'
  • PluginInstall命令:安裝在.vimrc中指定的插件妹萨。如果要更新的話使用:PluginInstall! 或者:PluginUpdate命令

  • PluginClean:刪除從.vimrc中刪去的plugin

互動方式

:PluginSearch命令可以搜索字符串,搜索到之后炫欺,就可以直接點(diǎn)擊i進(jìn)行安裝乎完。
不過重啟vim之后就沒有了。希望每次啟動后都有的話品洛,還是寫進(jìn).vimrc吧树姨。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市桥状,隨后出現(xiàn)的幾起案子帽揪,更是在濱河造成了極大的恐慌,老刑警劉巖辅斟,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件转晰,死亡現(xiàn)場離奇詭異,居然都是意外死亡士飒,警方通過查閱死者的電腦和手機(jī)查邢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來变汪,“玉大人侠坎,你說我怎么就攤上這事∪苟埽” “怎么了实胸?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵他嫡,是天一觀的道長。 經(jīng)常有香客問我庐完,道長钢属,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任门躯,我火速辦了婚禮淆党,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘讶凉。我一直安慰自己染乌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布懂讯。 她就那樣靜靜地躺著荷憋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪褐望。 梳的紋絲不亂的頭發(fā)上勒庄,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天,我揣著相機(jī)與錄音瘫里,去河邊找鬼实蔽。 笑死,一個胖子當(dāng)著我的面吹牛谨读,可吹牛的內(nèi)容都是我干的局装。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼漆腌,長吁一口氣:“原來是場噩夢啊……” “哼贼邓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起闷尿,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤塑径,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后填具,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體统舀,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年劳景,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了誉简。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡盟广,死狀恐怖闷串,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情筋量,我是刑警寧澤烹吵,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布碉熄,位于F島的核電站,受9級特大地震影響肋拔,放射性物質(zhì)發(fā)生泄漏锈津。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧撕蔼,春花似錦、人聲如沸茎杂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛉顽。三九已至,卻和暖如春先较,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背悼粮。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工闲勺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扣猫。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓菜循,卻偏偏與公主長得像,于是被迫代替她去往敵國和親申尤。 傳聞我的和親對象是個殘疾皇子癌幕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容