本教程適合新手快速上手 vim 用,而且它是 windows 下的 vim 教程。這個(gè)秋季版是我第一次寫vim的教程,雖然看別人的教程總是能說(shuō)出來(lái)這里不好那里不好,但是自己親自寫寫的時(shí)候,卻發(fā)現(xiàn)很難,有些內(nèi)容總是不知道該放到哪里去,于是就很糾結(jié)了,我在寫這個(gè)教程的時(shí)候,也感覺(jué)確實(shí)學(xué)習(xí)了不少,總之一句話:傳播編程知識(shí),振興中華軟件。
vi、vim與gvim比較:
1.這三個(gè)單詞的后一個(gè)比前一個(gè)多一個(gè)字母,那么,究竟是什么意思呢?
2.vi 的功能是最弱的,它是*nix 操作系統(tǒng)下最基本的文本編輯器,由伯克利大學(xué)的 Bill Joy 研究開(kāi)發(fā)。
3.vim 的作者是 Bram Moolenaar,一開(kāi)始的功能還不如 vi,那個(gè)時(shí)候它的全稱是“Vi IMitation”,即 vi 模擬器。1992 年 Vim 被移植到了 Unix 和 Dos 上,Vim 重命名為“Vi IMproved”,即 vi 加強(qiáng)版。
4.在這之后,vim 不斷的增加很多功能,一個(gè)里程碑的改進(jìn)就是1994 年 3.0 版本加入了多視窗編輯模式。1996 年有了第一個(gè) GUI版本,1998 年加入語(yǔ)法高亮功能,2001 年加入了代碼折疊、插件、多語(yǔ)言支持、垂直分割視窗等功能,2006 年加入了拼字檢查、補(bǔ)全、標(biāo)簽頁(yè)編輯等功能。08 年和 10 年分別推出了 7.2 和 7.3,但是并沒(méi)有質(zhì)的飛躍,也就不介紹了,現(xiàn)在最新版本是 7.4。
5.gvim 是 Vim 的圖形前端,它也是跨平臺(tái)的編輯器,而且也保持了Vim 的風(fēng)格,可以說(shuō),gvim 的功能比 vim 更適合新手去用,功能也更強(qiáng)一些。
6.gvim 也支持鼠標(biāo)操作,這更是為 windows 下喜歡用鼠標(biāo)的用戶不至于一開(kāi)始就感覺(jué)無(wú)從下手,但是,真正的快速高效是不要用鼠標(biāo)去使用 vim 的,就像我們用五筆輸入法幾乎不用按數(shù)字鍵去選字。
7.我建議在 windows 下可以先使用 gvim,下面我們也是以 gvim 為例來(lái)講解的。
目錄:
零節(jié):vim 的介紹以及下載2
第一節(jié):三種模式及快速入門..4
第二節(jié):最常用的一些命令10
第三節(jié):最常用的一些操作28
第四節(jié):最常用的一些配置38
第五節(jié):常用的批量操作.42
第六節(jié):常用的精巧操作..49
第七節(jié):程序員必備知識(shí)62
后記.71
三種模式以及切換:
1.有人也分為兩種模式,認(rèn)為可以分為normal模式和insert模式就可以了,但是我還是習(xí)慣分為三種模式,這恐怕也是很多在win平臺(tái)下工作太久的人容易想不到的,因?yàn)樗麄兺鶝](méi)有模式這個(gè)概念,甚至連大名鼎鼎的emacs都不是基于模式的。
2.第一種模式即normal模式,通常可以翻譯為“正常模式”或者“命令模式”,在該模式下我們的鍵盤輸入會(huì)當(dāng)做命令來(lái)執(zhí)行,比如i表示在光標(biāo)左邊插入,a表示在光標(biāo)右邊插入,hjkl分別表示光標(biāo)向左下上右移動(dòng),這些命令我們后面還會(huì)再說(shuō)。
3.第二種模式即insert模式,通?梢苑g成"插入模式“,這個(gè)模式下的vim好像和我們?cè)趙indows下的大部分編輯器是一樣的,咱們按下什么鍵,屏幕上就會(huì)有相應(yīng)的顯示,當(dāng)然,某些鍵是除外的,比如Esc鍵用來(lái)回到命令模式,有些鍵是功能鍵,不具有輸入字符的功能。
4.last line mode即”底行模式“,它主要用于保存文件或者退出,搜索、查找替換、設(shè)置編輯環(huán)境等等功能,因?yàn)樗藭r(shí)的輸入也會(huì)被當(dāng)做命令,因此也有人把它并入命令模式,這個(gè)無(wú)所謂,大家只要知道怎么回事就可以了,不必死鉆牛角尖。
三種模式的切換:
1.很多人初次打開(kāi)vim,發(fā)現(xiàn)我們的一些按鍵vim并不會(huì)響應(yīng),而是發(fā)出嗡嗡的蜂鳴聲,這是為什么呢?因?yàn)槲覀儎傔M(jìn)入vim,它默認(rèn)是工作在命令模式下的,我們需要切換到插入模式下才能輸入文本。
2.我們?cè)诿钅J较螺斎雐就可以進(jìn)入到插入模式了,下面首先給一個(gè)在命令模式下的截圖:
咱們?cè)阪I盤鍵入i,這里的i是”insert“的首字母,表示插入,可以進(jìn)入insert模式。當(dāng)然啦,鍵入a也是可以的,這個(gè)隨著學(xué)習(xí)的深入,大家會(huì)知道地越來(lái)越多。
下面來(lái)一個(gè)工作在插入模式下的截圖:
由于咱們這里用的是gvim,那么可以直接使用菜單項(xiàng)的”文件“->"另存為“來(lái)保存文件,還可以用vim的建議方式來(lái)保存,那就是先按Esc來(lái)切入到命令模式下,然后再按一下冒號(hào)來(lái)到底行模式,然后輸入w D:/xinxing.txt,如下截圖:
然后咱們點(diǎn)擊回車,發(fā)現(xiàn)vim給咱們的回應(yīng)如下:
好了,至此,咱們用vim來(lái)完成了咱們的第一個(gè)任務(wù),那就是寫一份txt文件,然后保存,大家可以發(fā)現(xiàn),咱們的所有操作都是利用鍵盤完成的,根本用不到鼠標(biāo),這也是vim之所以這么快的原因之一。
那就是使用鼠標(biāo)和鍵盤會(huì)讓我們的工作變慢,因此,用鍵盤代替鼠標(biāo),會(huì)讓我們的工作快很多,隨著后續(xù)的學(xué)習(xí),大家會(huì)發(fā)現(xiàn)我們的很多操作都可以用鍵盤來(lái)單獨(dú)完成,鼠標(biāo)很多時(shí)候會(huì)感覺(jué)很雞肋,一般都選擇不用。