青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

小山日志
讀書,學習與思考.
posts - 9,comments - 14,trackbacks - 0
Vi是Unix下最常用的文本編輯器。VIM(Vi IMproved)則是它的增強版。有人常常拿VIM和emacs比較,VIM盡管不象emacs那樣有那么多的功能,但是比emacs更方便、好用。用過emacs的人肯定會為emacs的一些快捷鍵感到煩惱,有時候用真希望自己有八只手。VIM的學習曲線也不象emacs那么長,只要看看VIM自帶的 vitutor,大約只要20分鐘就能掌握VIM的用法。對于Unix下的C/C++的程序員,我推薦你們使用VIM+Ctags的組合來寫程序。其中原因聽我慢慢道來。(下面對VIM的介紹主要是針對5.6以后的版本)
VIM支持語法制導和自動縮進

VIM會根據(jù)文件的后綴名,如:*.c、*.cpp、*.cc,等,自動設置語法制導(Syntax Highlighting)。C/C++中的一些保留字,如:if、for、include,等等,就會有不同的顏色,這樣就會減少程序員犯錯的可能,閱讀程序的時候相對來說也輕松很多。用下面這些命令在VIM中查看有關(guān)語法制導的幫助:“:h syntax”、“:h syn-qstart”、“:h syntax-printing”。

VIM也支持根據(jù)GNU的風格自動縮進,這樣程序員編寫出來的代碼就更易閱讀,而且也有利于培養(yǎng)好的編程風格。用下面這些命令在VIM中查看有關(guān)自動縮進的幫助:“:h cindent”、“:h cinoptions”、“:h cinoptions-values”、“:h cinkeys”、“:h cinwords”。
使用Ctags

VIM中已經(jīng)帶了Ctags這個程序。盡管ctags也可以支持其它編輯器,但是它正式支持的只有VIM。Ctags可以幫助程序員很容易地瀏覽源代碼。用下面的命令可以在源代碼的根目錄下創(chuàng)建“tags”文件:

[/home/brimmer/src]$ ctags -R

“-R”表示遞歸創(chuàng)建,也就包括源代碼根目錄下的所有子目錄下的源程序。“tags”文件中包括這些對象的列表:

l 用#define定義的宏

l 枚舉型變量的值

l 函數(shù)的定義、原型和聲明

l 名字空間(namespace)

l 類型定義(typedefs)

l 變量(包括定義和聲明)

l 類(class)、結(jié)構(gòu)(struct)、枚舉類型(enum)和聯(lián)合(union)

l 類、結(jié)構(gòu)和聯(lián)合中成員變量或函數(shù)

VIM用這個“tags”文件來定位上面這些做了標記的對象,下面介紹一下定位這些對象的方法:

1) 用命令行。在運行vim的時候加上“-t”參數(shù),例如:

[/home/brimmer/src]$ vim -t foo_bar

這個命令將打開定義“foo_bar”(變量或函數(shù)或其它)的文件,并把光標定位到這一行。

2) 在vim編輯器內(nèi)用“:ta”命令,例如:

:ta foo_bar

3) 最方便的方法是把光標移到變量名或函數(shù)名上,然后按下“Ctrl-]”。用“Ctrl-o”退回原來的地方。

注意:運行vim的時候,必須在“tags”文件所在的目錄下運行。否則,運行vim的時候還要用“:set tags=”命令設定“tags”文件的路徑,這樣vim才能找到“tags”文件。
快速改正錯誤

在VIM編輯器的環(huán)境下用“:make”就可以編譯程序,當然其前提是在當前目錄下有Makefile文件。運行完“:make”之后,如果程序中有錯誤,就會顯示出來。這時候,光標會自動指向第一個出現(xiàn)錯誤的地方,而且你還可以看到錯誤的提示。然后,你就可以改正錯誤,而不用手工找到出錯的那一行。記住下面幾個有用的命令:

l “:cl”列出錯誤

l “:cn”讓光標指向下一個錯誤

l “:cp”讓光標指向上一個錯誤

l “:cnew”從頭開始

你甚至可以讓VIM識別出其它編譯器而不是gcc的錯誤提示。這對一些開發(fā)嵌入式系統(tǒng)的程序員這很有用,因為他們很可能用的不是gcc而是其它編譯器。通過設置“errorformat”的值,可以讓VIM識別出編譯器的出錯提示。因為不同的編譯器的出錯提示是不同的,所以如果用的不是gcc就要重新設置。

“errorformat”的值是一個字符串,它的格式和C語言的scanf的字符串格式相識。

gcc的“errorformat”的值為:%f:%l:\%m。其中“%f”表示文件名,“%l”表示行號,“%m”表示出錯信息。

用“:h errorformat”查看詳細的幫助信息。

用“:h quickfix”、“:h make”、“:h makeprg”、“:h errorfile”查看其它的信息。
有用的快捷鍵

下面的這些快捷鍵對程序員很有幫助:
在函數(shù)中移動光標

[[ 轉(zhuǎn)到上一個位于第一列的“{”

]] 轉(zhuǎn)到下一個位于第一列的“{”

{ 轉(zhuǎn)到上一個空行

} 轉(zhuǎn)到下一個空行

gd 轉(zhuǎn)到當前光標所指的局部變量的定義

* 轉(zhuǎn)到當前光標所指的單詞下一次出現(xiàn)的地方

# 轉(zhuǎn)到當前光標所指的單詞上一次出現(xiàn)的地方
括號的匹配

% 用來進行小括號、中括號和大括號的匹配。這要看當前光標指向的是什么符號了。
其它

VIM的配置文件是“.vimrc”,用這個文件可以配置VIM。VIM的圖形界面的版本叫g(shù)vim。VIM也有用于Windows平臺的版本。
VIM的資源

VIM的主頁:http://www.vim.org/。
版權(quán)說明

這篇文章的版權(quán)屬于作者brimmer( brimmer@linuxaid.com.cn )和www.linuxaid.com.cn 。如果要轉(zhuǎn)載請加上版權(quán)提示。

Brimmer的主頁:www.linuxaid.com.cn/engineer/brimmer 。HTML格式和Word格式的文檔可以在主頁上找到。
posted on 2006-09-02 11:47 小山日志 閱讀(249) 評論(0)  編輯 收藏 引用 所屬分類: 轉(zhuǎn)貼
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产老女人精品毛片久久| 香蕉国产精品偷在线观看不卡| 亚洲在线日韩| 国产精品久久久久一区二区| 欧美亚洲视频| 久久国产精品99国产精| 亚洲国产欧美一区二区三区同亚洲| 免费观看在线综合色| 欧美1区3d| 亚洲欧美精品一区| 欧美亚洲一区| 亚洲欧洲综合另类| 亚洲特级片在线| 亚洲国产精品久久久久久女王 | 国产亚洲激情| 欧美不卡视频| 欧美视频中文字幕| 噜噜噜噜噜久久久久久91| 男人插女人欧美| 欧美怡红院视频| 欧美激情精品久久久久久黑人| 亚洲视频福利| 久久久综合视频| 亚洲一区在线直播| 裸体素人女欧美日韩| 亚洲欧美中文日韩在线| 噜噜噜噜噜久久久久久91 | 亚洲午夜国产一区99re久久 | 久热这里只精品99re8久| 中文日韩在线| 欧美成人三级在线| 久久久久久有精品国产| 欧美日韩成人在线观看| 免费在线观看精品| 国产欧美一区二区三区久久 | 亚洲娇小video精品| 欧美图区在线视频| 91久久久久| 亚洲高清在线视频| 性欧美18~19sex高清播放| 一本一本久久a久久精品综合妖精| 久久国产一区二区三区| 午夜日韩电影| 日韩天天综合| 久久精品视频导航| 1024亚洲| 久久精品女人| 久久久福利视频| 国产精品免费观看在线| 91久久精品国产| 亚洲精品日产精品乱码不卡| 久久久久久亚洲精品杨幂换脸 | 亚洲欧美视频在线| 国产精品久久综合| 亚洲一区欧美激情| 欧美一区视频| 国产日韩综合一区二区性色av| 一区二区三区鲁丝不卡| 一区二区日韩精品| 欧美日韩国产限制| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品国产成人国产三级| 91久久香蕉国产日韩欧美9色| 亚洲激情第一区| 免费国产一区二区| 亚洲国产成人精品久久久国产成人一区| 在线观看日韩专区| 久久人人爽国产| 欧美国内亚洲| 日韩五码在线| 国产精品国产三级国产普通话蜜臀 | 国产精品久久久久久久久久久久久久 | 亚洲欧美区自拍先锋| 国产精品免费电影| 久久不见久久见免费视频1| 久色婷婷小香蕉久久| 1024亚洲| 欧美日韩综合视频网址| 亚洲在线视频观看| 欧美v国产在线一区二区三区| 亚洲国产精品一区二区第一页| 欧美国产精品va在线观看| 亚洲精品久久久久中文字幕欢迎你| 一区二区三区欧美在线| 国产精品亚发布| 久久先锋影音av| 日韩视频在线播放| 久久久久国内| 日韩视频在线永久播放| 国产精品一区二区欧美| 久热这里只精品99re8久| 一区二区三区精品视频| 久久人人看视频| av成人天堂| 国产在线视频欧美| 欧美人成在线视频| 久久国产主播精品| 亚洲电影av| 欧美一区二区三区的| 亚洲第一免费播放区| 亚洲专区免费| 亚洲国产精品精华液2区45| 国产精品久久| 欧美高清在线播放| 午夜精品久久久久| 日韩午夜一区| 欧美国产日本| 久久免费精品视频| 亚洲免费网址| 亚洲精品少妇30p| 黑人操亚洲美女惩罚| 国产精品国产| 欧美日韩国产123| 另类av导航| 久久激情综合网| 亚洲欧美视频一区二区三区| 亚洲高清不卡一区| 老司机午夜精品| 久久精品国产综合精品| 亚洲午夜一级| 一区二区欧美激情| 91久久久久久| 亚洲国产精品成人精品| 国产在线国偷精品产拍免费yy| 国产精品久久久999| 欧美日韩精品久久久| 欧美激情在线免费观看| 久久午夜羞羞影院免费观看| 久久成人久久爱| 久久精品视频导航| 久久不射电影网| 久久国产福利国产秒拍| 欧美一级视频精品观看| 午夜国产欧美理论在线播放| 亚洲无吗在线| 亚洲在线免费| 欧美在线视频免费播放| 亚洲欧美视频一区二区三区| 亚洲一区二区免费在线| 午夜精彩视频在线观看不卡| 亚洲一区www| 亚洲欧美成人一区二区在线电影| av成人免费| 亚洲欧美日韩国产成人精品影院| 亚洲私人影院在线观看| 亚洲视频一区在线观看| 亚洲欧美日韩中文视频| 久久精品99国产精品日本| 久久久精品视频成人| 久久香蕉国产线看观看av| 欧美3dxxxxhd| 国产精品国产福利国产秒拍 | 麻豆91精品91久久久的内涵| 美国三级日本三级久久99| 欧美福利网址| 欧美网站在线| 国内自拍一区| 亚洲激情一区二区| 亚洲视频一区在线| 久久国产日韩欧美| 女人香蕉久久**毛片精品| 亚洲韩国一区二区三区| 亚洲午夜激情网页| 久久精品30| 欧美日韩国产综合视频在线观看中文| 欧美四级电影网站| 黄色成人av网站| 一区二区三区国产精华| 欧美一区二区福利在线| 欧美大片va欧美在线播放| 亚洲毛片av| 久久精品人人做人人爽电影蜜月| 免费看精品久久片| 国产精品视频yy9099| 狠狠色2019综合网| 在线亚洲成人| 欧美chengren| 久久久xxx| 亚洲精品美女免费| 日韩小视频在线观看| 一区二区三区欧美激情| 久久精品亚洲一区二区| 欧美久久电影| 亚洲大胆在线| 欧美一区在线视频| 亚洲欧洲精品一区| 久久精品卡一| 国产精品日韩在线观看| 亚洲欧洲在线视频| 久久久伊人欧美| 一区二区三区产品免费精品久久75 | 欧美精品三区| 亚洲高清资源综合久久精品| 欧美呦呦网站| 99re6这里只有精品| 欧美v日韩v国产v| 国产在线不卡| 久久精品一区二区三区中文字幕| 亚洲麻豆国产自偷在线| 欧美激情va永久在线播放|