作者:善用佳軟 版本:v1.5-r5-20080220
本文適合Vim新手,既可閱讀入門,也可跟隨本文一步步操作,動(dòng)手體驗(yàn)。
2005年5月,我開始用Vim。此后漸入佳境,原來(lái)因版權(quán)自律而放棄盜版UltraEdit的遺憾一掃而空。并且,從Vim我才體會(huì)到,什么才是真正的編輯利器。在善用佳軟或其他論壇發(fā)文,我都是先在Vim中輸入,并方便高效地編輯好格式,再貼到網(wǎng)上。而我的通訊錄、記事、讀書筆記、工作記錄也是在Vim中完成的。包括一些文檔、數(shù)據(jù)的處理,讓Vim過(guò)一下,也會(huì)提高不少效率。一句話,自用Vim以來(lái),對(duì)它迷戀日深,幾乎要超過(guò)Total Commander。但是,正如善用佳軟及論壇發(fā)文所提,我大力推薦“用IrfanView/XnView代替ACDSee、用7-zip代替WinRar/WinZip、用GIMP代替PhotoShop”,但并未推薦Vim代替UltraEdit。這并不意味著Vim不能勝任,恰恰相反,如果說(shuō)IrfanView等替代品比原共享軟件還有些差距的話,Vim則遠(yuǎn)勝UltraEdit。不推薦的唯一原因是,Vim對(duì)初學(xué)者有點(diǎn)難。
但今天仍寫了此文推薦給大家。原因有二:其一,編輯大人選定了題目,要向大眾宣講Vim和Emacs,這種勇氣鼓舞了我。其二,已發(fā)兩位高手的文章(王垠之《Emacs是一種信仰!世界最強(qiáng)編輯器介紹》,Dieken之《程序員的編輯器——Vim》)可能會(huì)嚇住一些對(duì)它們產(chǎn)生了興趣的人,對(duì)此我要做些修正。
因此本文內(nèi)容有二:一是幫新手體驗(yàn)Vim。這部分有些象實(shí)驗(yàn)教程,多用實(shí)例,且行文風(fēng)格盡量傻瓜化,以便于新手(包括以前從未聽說(shuō)過(guò)Vim)可以照我的操作,一步步體驗(yàn)Vim。二是介紹我的應(yīng)用,即Vim如何便利我的日常工作和生活,而非編程。
1 對(duì)Vim的基本介紹
一句話介紹就是:Vim是一個(gè)超級(jí)超級(jí)強(qiáng)大的文本編輯器。它和Emacs是一個(gè)數(shù)量級(jí);而我認(rèn)為,比UltraEdit、Editpad、EmEditor要高一個(gè)(至少半個(gè)數(shù)量級(jí))。如果你有興趣,不妨一讀《程序員的編輯器——Vim》,以便于對(duì)Vim有更詳盡全面的理論認(rèn)識(shí)。
要點(diǎn)1:Vim及前身VI,歷史悠久(可能比多數(shù)讀者的年齡更大),經(jīng)歷了幾十年的考驗(yàn)和發(fā)展,值得信賴。
要點(diǎn)2:Vim有模式。通俗地做一下對(duì)比。notepad無(wú)模式(或稱為只有一種編輯模式),你按下j,就是在正文中輸入j;要保存,就要ctrl+s;要下移一行,就要↓或鼠標(biāo)。而在Vim中,打開一個(gè)文件后,并不處在編輯模式,而是Normal模式,此時(shí)你按j,Vim并不認(rèn)為你要在正文中輸入j,而是代表光標(biāo)下移一行。此時(shí)按i表示進(jìn)入insert模式,即編輯模式,即notepad的模式。編輯模式按Esc退回normal模式。normal模式下按:進(jìn)入命令行模式,用于輸入較復(fù)雜的命令。比如:w代表保存文件,:e a.txt代表打開文件a.txt。即Vim可以不用鼠標(biāo)、方向鍵、菜單、Ctrl、alt……發(fā)出命令。因此,以下的體驗(yàn)中切記進(jìn)入正確的模式:Esc到Normal;Normal下i到編輯;Normal下:到命令行。再說(shuō)明一點(diǎn)是:文中:打頭的是命令行模式,此外多數(shù)Normal模式。
要點(diǎn)3:復(fù)雜對(duì)抗復(fù)雜。Vim有的命令行很嚇人,長(zhǎng)長(zhǎng)一串字符恍若天書。這些貌似復(fù)雜,實(shí)際上無(wú)非是一些簡(jiǎn)單命令的組合而已。借助于此,Vim用戶可以實(shí)現(xiàn)非常復(fù)雜的需求。如果你沒(méi)有這樣的需求,就無(wú)須理會(huì)它們。
要點(diǎn)4:一能百能。這一點(diǎn)是Unix或命令行風(fēng)格軟件的顯著長(zhǎng)處,經(jīng)過(guò)實(shí)用可以深刻體會(huì)。本文盡管有一些例子,但它運(yùn)用之妙,存乎一心的感覺(jué),仍未能充分展示。這里先打個(gè)比方,如果windows下某軟件號(hào)稱能炒菜,那意味著你點(diǎn)一下菜單,菜就做好了——這就是易用哲學(xué)。到底怎么做,你是沒(méi)有多少發(fā)言權(quán)的,而是由軟件開發(fā)者固化。而如果Vim說(shuō)能,那它就是有一個(gè)“炒菜”命令,你可以把這個(gè)命令與原有的“原料”“數(shù)量”“火候”“風(fēng)味”“灶具”命令結(jié)合在一起用,甚至在它前面加上“買菜”“洗菜”,后面加上“裝盤”“洗碗”做成一個(gè)自動(dòng)腳本,在合適的情況下自動(dòng)執(zhí)行。
要點(diǎn)5:無(wú)限靈活,個(gè)性由我。你只要有具體需求,Vim幾乎都能滿足。因此不同人的Vim是不一樣的,即,把下載來(lái)的Vim配置成自己的Vim。
就此打住,開始體驗(yàn)之旅吧!
2 下載和安裝
Vim是跨平臺(tái)的。在Windows下,我們用的是gVim for windows版。最新的是7.0版,下載包約8MB,完全安裝后約20MB。
注:體積太大?你如果是高手,完全可以把不用的文件刪除(包括幫助文件,它是我見過(guò)的軟件中最好的幫助),精簡(jiǎn)后的體積可以不到2MB?;蚍粗瑑H下載一個(gè)gVim.exe(1.5MB)就能運(yùn)行。但對(duì)于這次體驗(yàn),鑒于第一次使用,建議全部按默認(rèn)項(xiàng)安裝,這樣才能達(dá)到文中預(yù)想的結(jié)果。
PCOnline下載,官方下載
安裝,基本上,一直Agree、Next就行了。我通常是裝在d:\program files\Vim下。
可參見
3 體驗(yàn)之旅
3.1 初見界面
安裝完成后,按提示打開readme,你將看到
或自行打開桌面的快捷方式,也可直接運(yùn)行d:\program files\Vim\Vim70\gVim.exe,你應(yīng)該看到如此界面:
什么?難看?土?我第一次見到它也是這種感覺(jué),現(xiàn)在卻只覺(jué)得親切。
再一點(diǎn),你有沒(méi)有奇怪它是中文界面?難道我給你下載的是漢化版?會(huì)不會(huì)捆綁流氓插件啊?你如果真這樣想,我只能嘆息無(wú)語(yǔ)了。
3.2 試讀html
請(qǐng)把此網(wǎng)頁(yè)保存為htm,比如test.htm,然后用Vim打開它。暫時(shí)用菜單吧!結(jié)果可能是這樣:
平平無(wú)奇,是吧?因?yàn)樗且粋€(gè)標(biāo)準(zhǔn)的Vim,并且是性能優(yōu)先,視效忽略的Vim。無(wú)妨,請(qǐng)進(jìn)入命令行模式(就是按一下冒號(hào),注意是英文冒號(hào):),注意到最下面一行的變化了吧。再輸入sy on再回車。是不是有顏色了?它應(yīng)該看起來(lái)象這個(gè)樣子
重要提醒:為簡(jiǎn)化起見,下文將用
:sy on
表示(先確認(rèn)在Normal模式,如不確認(rèn),請(qǐng)按幾次Esc)你先按:進(jìn)入命令行模式,再輸入sy on,再回車。
補(bǔ)充說(shuō)明:sy表示語(yǔ)法加亮,on當(dāng)然是打開。:sy clear表示取消加亮。
3.3 改頭換面
體驗(yàn)Vim就要按Vim的思路,所以我們要把gVim改回Vim的本來(lái)面目。
對(duì)了,如果你認(rèn)為它的界面很土,請(qǐng)更要多看一眼當(dāng)前的樣子,因?yàn)橄旅娴牟僮骱罂赡軙?huì)更土!
執(zhí)行如下命令
:set go=
這時(shí)的Vim應(yīng)該是
不要大驚小怪,不就是菜單和工具欄不見了嘛?Vim中是不應(yīng)該用到它們的。
補(bǔ)充說(shuō)明:set表示一般性設(shè)置;go是gui option的縮寫,就是界面;等于空就是什么都沒(méi)有
再輸入半條命令(先不要回車)
:colo ev
然后,按一下tab鍵。是不是自動(dòng)補(bǔ)全為evening了?Vim是非常聰明的(但是不會(huì)象MS Word那樣自做聰明)。
然后你回車,看到了什么?
天色全黑了?沒(méi)錯(cuò),現(xiàn)在是evening嘛。
補(bǔ)充說(shuō)明:colo就是設(shè)置調(diào)色方案。Vim自帶了近十種調(diào)色方案,當(dāng)然你還可以在網(wǎng)上下載更多,或改編自己的調(diào)色方案。你可以直接在:colo (加一個(gè)空格)就連續(xù)tab,選擇不同的配色方案來(lái)體驗(yàn)一下。當(dāng)然,evening是比較經(jīng)典的一種。我一直就用它。
3.4 準(zhǔn)備并打開范例文件
簡(jiǎn)化起見,請(qǐng)下載test.txt并保存為d:\test.txt。然后,在Vim中輸入半條命令
:tabnew d:\t
輸?shù)竭@里后不要回車,按一下tab,Vim會(huì)自動(dòng)補(bǔ)全為test.txt的。如果不對(duì),再按幾次tab,直到正確為止。然后回車。
你會(huì)看到Vim打開了test.txt,并且是以多頁(yè)簽(tab page)的方式。你可以點(diǎn)擊各頁(yè)簽在打開的文件中間切換(高手有更方便的鍵盤命令做法)。在Vim6.3中,還沒(méi)有此功能。當(dāng)然了,這并不意味著Vim的用戶沒(méi)辦法享受多頁(yè)簽的便利,下載一個(gè)插件后——Vim有上千個(gè)插件——就可以了。面對(duì)多頁(yè)簽風(fēng)格的流行(IE6→Maxthon→IE7),Vim7.0也新增了此功能。
我喜歡這種簡(jiǎn)單的頁(yè)簽。如果你認(rèn)為此頁(yè)簽太難看,可試一下:set go=e
這時(shí)應(yīng)如下效果
3.5 統(tǒng)一格式,修改vimrc
上面所操作的各種命令,都是對(duì)Vim的設(shè)置。把它們寫到一個(gè)_Vimrc文件中就成了默認(rèn)選項(xiàng)。每個(gè)Vim用戶的_Vimrc文件都不一樣,因?yàn)槊總€(gè)人的需求不同。
為了保證下面的操作得到預(yù)期的效果,請(qǐng)使用善用佳軟提供的_Vimrc(附1)。依次執(zhí)行下述操作:
?、?關(guān)閉所有的Vim
?、?找到你的d:\program files\Vim\Vim7\_vimrc,復(fù)制一份存檔。
③ 用任意文本編輯器(Vim或記事本)打開_vimrc,用本文附1的內(nèi)容替換它,并保存。
?、?重啟Vim。
注:這并不是標(biāo)準(zhǔn)做法,但對(duì)windows用戶是比較方便的做法。
3.6 打開test.txt
再次就模式進(jìn)行提醒:Esc到Normal;Normal下i到編輯;Normal下:到命令行。
運(yùn)行Vim,并在命令行執(zhí)行
:e d:\test.txt
接下來(lái),我們把此文章排一下版。如果你認(rèn)為可以手工排版,請(qǐng)把此文件復(fù)制到10000行再發(fā)表意見。
3.7 分段并保存
原文沒(méi)有分段,觀察一下,發(fā)現(xiàn)可以在“以下是……”前面加回車,于是
:%s/以下是/\r&/gc
輸入后,界面如下
并提示,請(qǐng)回答y或a。如果回答y,則替換當(dāng)前一個(gè);到了下一個(gè),Vim還會(huì)再問(wèn)你。所以,你回答幾個(gè)y后不妨一a了之,全部替換。
補(bǔ)充說(shuō)明:s表示替換;s/a/b 表示把a(bǔ)換為b;上一命令是把“以下是”換為“\r&”,\r表示回車,&表示被替換的部分,即“以下是”;%則表示全文;/gc表示一直替換(不是僅替換第一個(gè)),并且要用戶確認(rèn)。
看一下文件,你或許想,空2行可能更好。很簡(jiǎn)單,再重復(fù)一下剛才的命令就好了。不過(guò),對(duì)強(qiáng)大的Vim來(lái)說(shuō),無(wú)須笨笨地重復(fù)輸入上次的命令。在命令行按下:后,再按一下↑(向上的方向鍵),看到剛才的命令了吧?直接回車,提問(wèn)時(shí)輸入a,任務(wù)完成。
既有變化,請(qǐng)及時(shí)保存。命令是
:w
當(dāng)然,你也可以按ctrl+s。但ctrl+s之所以有效,是因?yàn)槲以赺Vimrc中做了定義:當(dāng)按下ctrl+s時(shí),系統(tǒng)執(zhí)行:w動(dòng)作。因此,你完全可以定義其他熱鍵,并把它映射到:w。
3.8 繼續(xù)編輯
首先刪除“堅(jiān)持”兩字,很簡(jiǎn)單,只要按gg2x就行了。為了看效果,你可以分開按:
gg,這時(shí)光標(biāo)移到文章頭。
2x,這時(shí)刪掉了2個(gè)字符。
再一次體驗(yàn)Vim的神奇,比如按5x,于是5個(gè)字符消失了。當(dāng)然,這5個(gè)字符是要保留的,沒(méi)關(guān)系,你按一次u,就回來(lái)了吧?
再按一下Ctrl+r,是不是又沒(méi)了?再來(lái)一次u,是不是又回來(lái)了?沒(méi)錯(cuò)。u和Ctrl+r相當(dāng)于(是相當(dāng)于不是等同于)windows的undo和redo。
再試一下dd。是不是整行沒(méi)有了?沒(méi)關(guān)系,u回來(lái)就行了。
再試一下3dd。一下子刪除了3行!沒(méi)關(guān)系,u回來(lái)。
再來(lái)一個(gè)dG,哇,全文都沒(méi)了?!仍然u回來(lái)啊。
3.9 更多編輯
任務(wù)a:把每一句分為一行,即達(dá)到如下效果
以**為榮、
以**為恥,
解決:如果你記得上面的替換命令,就會(huì)想到,可以用2次替換(“為榮、”換為“為榮、”加回車,“為恥,”換為“為恥,”加回車)。但這兩次替換在Vim中完全可以一次完成,即用正則表達(dá)式,在“為”及后面2字符(“榮、”或“恥,”)后加入回車。怎么表示呢?
:%s/為../&\r/gc
看一下高亮,沒(méi)問(wèn)題,直接a
哇,是不是很壯觀?。繘](méi)覺(jué)得?如果是一千行一萬(wàn)行呢?
任務(wù)b:把行末的標(biāo)點(diǎn)去掉,即“榮”后的頓號(hào)和“恥”后的逗號(hào)。
解決:辦法太多了,仍可以用替換。但此處還是展示一個(gè)新功能:列操作。
安全起見,按兩下Esc,再gg$,這時(shí)光標(biāo)應(yīng)到了文章第一行最后一個(gè)字符,即頓號(hào)上。
再按ctrl+v,注意一下狀態(tài)欄是否提示有“可視 塊” 字樣。(請(qǐng)確認(rèn)你是采用了xbeta的_Vimrc文件,如果沒(méi)有,請(qǐng)?jiān)囈幌耤trl+q)
再15jx,是否標(biāo)點(diǎn)全部刪除了?因?yàn)?5j表示向下選中15行,x表示刪除。
任務(wù)c:錯(cuò)落有致
操作:這次演示一下宏的用法,請(qǐng)嚴(yán)格按本教程操作。
先做一下確認(rèn):輸入法沒(méi)有打開,并Esc到normal狀態(tài),gg到文首。
按qa(q表示開始錄制宏,宏的名字為a)
再shift+>>(表示按住shift,連按兩下>,再放開shift。此時(shí)第一行應(yīng)當(dāng)向后tab了一下)
再j^(此時(shí)下移一行,并置光標(biāo)于行首)
再shift+>>再shift+>>(即第二行向后tab兩下)
再j^(下移一行,并將光標(biāo)置于行首,為后續(xù)操作做準(zhǔn)備)
再q(表示宏錄制結(jié)束,Vim會(huì)提示記錄完成)
這樣宏錄完了,可以用了。
再@a,看到了效果了吧?宏執(zhí)行了一次,即3、4行成功了。還剩下6段,但是你不用按6次@a,而是只要按下6@a就行了!??!
太神奇了!回放一下?先u,再來(lái)一次6@a。既然可以6,當(dāng)然可以千千萬(wàn)萬(wàn)!
補(bǔ)充說(shuō)明:高手使用Vim是千變?nèi)f化的。上面的前2個(gè)操作(分行+刪標(biāo)點(diǎn)),完全可以合成一個(gè):%s/\(為.\)./\1\r/gc;或再把第3個(gè)操作(錯(cuò)落有致)融合到前一個(gè)操作中。
3.10 自由體驗(yàn)
體驗(yàn)光標(biāo)移動(dòng):請(qǐng)隨意按幾下j和k,看看反應(yīng);再多按幾下l和h,看看反應(yīng);然后,當(dāng)你的光標(biāo)在英文時(shí),請(qǐng)按幾下w和b。
對(duì)了,gVim的每一種功能,都有無(wú)限可能,因此,你也可以在上面幾個(gè)字母前加上數(shù)字,比如 9w 2h,看它的反應(yīng)。
體驗(yàn)自動(dòng)補(bǔ)全:i進(jìn)來(lái)吧,到目前為止還沒(méi)寫過(guò)字呢!為簡(jiǎn)單起見,你直接把用鼠標(biāo)放到中文的下一行,我們把 Eight Do's and Eight Don'ts 輸入一遍。但是,輸入一個(gè)E,先別動(dòng)!按ctrl+p是不是自動(dòng)補(bǔ)全了?
體驗(yàn)大小寫(每次操作后,都用u恢復(fù)原狀),試一下g~~和guu和gUU和g??(g??后可以不按u,再按一次g??也能恢復(fù)原狀)
神奇嗎?這還是Vim功能的單個(gè)表演,真正的高手是把它們組合在一起,完成你自己獨(dú)特的編輯需求。
3.11 體驗(yàn)語(yǔ)法高亮和折疊
此部分講起來(lái)太復(fù)雜。如果你有其他編輯器如UltraEdit基礎(chǔ),會(huì)有助于你理解。但Vim在此方面的強(qiáng)大靈活,UltraEdit是難忘其項(xiàng)背的。
仍然是我們編輯的原文件,為簡(jiǎn)化計(jì),請(qǐng)下載test2.txt;下載tx1.vim并保存在d:\program files\Vim\Vimfiles\syntax\tx1.vim
用Vim打開(比如要打開d:\test2.txt,請(qǐng)?jiān)赩im中:tabnew d:\test2.txt)它。平平無(wú)奇是嗎?這是因?yàn)閂im并不知道這個(gè)文件要加亮。鍵入一個(gè)命令:setf tx1,這就相當(dāng)于告訴Vim此文件的類型是tx1,所以就按照剛下載的tx1.vim進(jìn)行高亮和折疊。
此時(shí)你會(huì)發(fā)現(xiàn)test2.txt完全折起來(lái)了。如何打開?你可用鼠標(biāo)點(diǎn)最左邊的+,當(dāng)然,也可以用命令zr或zR打開(zR打開全部;zr打開當(dāng)前;zM折疊全部;zm折疊當(dāng)前)。打開后,看到高亮效果了吧。可以對(duì)文字設(shè)定前景色、背景色、粗、斜、下劃線風(fēng)格。
3.12 加密文件
文本文件打開最快,編輯起來(lái)最容易,并且在Vim中查找非常方便。因此,我用它來(lái)記日記,并作為通訊錄。但是安全問(wèn)題怎么辦呢?很簡(jiǎn)單,Vim本身即可加密(錄然解密也要用Vim)。在上述打開的文件中鍵入:X(是大寫X),Vim就提示你設(shè)定密碼,安全起見要確認(rèn)第2次。然后,保存(鍵入:w)。把Vim或此文件關(guān)閉,再打開時(shí),就要輸入密碼了。只有你輸入正確的密碼,才能得到正確的文件。
4 我的應(yīng)用
Vim和Total Commander一樣,我把它們都設(shè)定為開機(jī)自動(dòng)運(yùn)行,其應(yīng)用不可勝數(shù)。
比如說(shuō)通訊錄管理,我未用任何軟件,就用Vim管理一個(gè)address.txt。它可以實(shí)現(xiàn):快速啟動(dòng)(我在Vim中定義了書簽,鍵入`A就會(huì)打開),加密(用Vim的:X),超強(qiáng)搜索(無(wú)須多說(shuō)),分組折疊(fold),email和電話號(hào)的高亮顯示(自定義語(yǔ)法文件)吧。
再比如,筆者會(huì)用Vim來(lái)輔助word, excel, bbs發(fā)文,安全刪除文件,制作精簡(jiǎn)的五筆詞庫(kù)等。具體可參見 《我常用的Vim功能》,《活學(xué)善用gVim,提高工作效率:實(shí)例篇(合集)》,《用gVim打造個(gè)性化記事本》等文章。
如下兩圖分別是我的個(gè)性化txt示例,和用Vim寫此篇文章時(shí)的情況:
5 后記
這篇文章比最初計(jì)劃寫得長(zhǎng)很多,但仍感覺(jué)很多非常優(yōu)秀的功能沒(méi)有提到。比如,眼下我寫這篇文章,當(dāng)然用Vim。但是因?yàn)橛胁鍒D,所以用了htm格式。在插入圖片時(shí),我只要輸入img,Vim會(huì)自動(dòng)換為“<img src="">”,并把光標(biāo)放到兩個(gè)引號(hào)中間,以便于我輸入圖片名稱。我輸入lnk后,Vim會(huì)替換為“<a href=""></a>”。當(dāng)我想看一下效果時(shí),我只要:! g:\study\it\pconline\Vim\xbeta-Vim.htm 它就自動(dòng)在瀏覽器中打開了。而這一個(gè)長(zhǎng)長(zhǎng)的路徑,因?yàn)橛辛俗詣?dòng)補(bǔ)全和命令行歷史,也非常容易。而當(dāng)一些url還未確定,需要標(biāo)注時(shí),我就用一個(gè)`1,Vim就會(huì)以醒目的紅色塊標(biāo)出來(lái),一目了然。而下次再打開此文件,它會(huì)記得我最后編輯的位置。
在用Vim之前,我曾試過(guò)幾十種pad和editor,包括長(zhǎng)期用Editpad,也曾經(jīng)比較精通過(guò)UltraEdit,也曾經(jīng)測(cè)過(guò)EmEditor, EditPlus等。但用了Vim之后,我不再關(guān)心windows世界的成千上萬(wàn)的編輯器。因?yàn)槭褂盟鼈兊倪壿嬍?#8220;如果有新需求,只能等軟件升級(jí)或換一個(gè)軟件”,而使用Vim的邏輯則是“如果有新需求,請(qǐng)做個(gè)性化配置或下載插件”。
Vim在手,夫復(fù)何求!
最后,向Vim所代表的追求卓越、開源共享的精神致敬!并希望有責(zé)任感的用戶逐漸減少盜版?。ㄍ辏?br>
附1:_vimrc文件
set nocompatible
set magic
set ru "標(biāo)尺信息
set ai
set sw=4
set ts=4
set dy=lastline "顯示最多行,不用@@
"以上是縮進(jìn)相關(guān)
set backspace=indent,eol,start
colo evening
sy on
set go= "無(wú)菜單、工具欄
set nobackup
set hlsearch
set showmatch
"tab mappings
map <M-1> 1gt
map <M-2> 2gt
map <M-3> 3gt
map <M-4> 4gt
map <M-5> 5gt
map <M-6> 6gt
map <M-7> 7gt
map <M-8> 8gt
map <M-9> 9gt
map <M-t> :tabnew<CR>
map <M-w> :tabclose<CR>
map! <M-1> <esc>1gt
map! <M-2> <esc>2gt
map! <M-3> <esc>3gt
map! <M-4> <esc>4gt
map! <M-5> <esc>5gt
map! <M-6> <esc>6gt
map! <M-7> <esc>7gt
map! <M-8> <esc>8gt
map! <M-9> <esc>9gt
map! <M-t> <esc>:tabnew<CR>
map! <M-w> <esc>:tabclose<CR>
" Use CTRL-S for saving, also in Insert mode
noremap <C-S> :update<CR>
vnoremap <C-S> <C-C>:update<CR>
inoremap <C-S> <C-O>:update<CR>
"2006-09-13 如下:保存視圖
au BufWinLeave *.ztx mkview
au BufWinEnter *.ztx silent loadview