ctags使用方法
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
Vi大家都很熟悉,某些情況下它是我們?cè)贚inux下唯一可用的文本編輯器。其實(shí)我們平時(shí)所指的VI其實(shí)是VIM(ViImproved,VI增強(qiáng)版)。有人常常拿VIM和emacs比較,VIM盡管不象emacs那樣有那么多的功能,但是比emacs更方便、好用。VIM簡(jiǎn)單易用,只要看看VIM自帶的vitutor,大約只要20分鐘就能掌握VIM的用法。對(duì)于Linux下的C/C++的程序員,使用VIM+Ctags的組合來(lái)寫(xiě)程序也許是最佳的選擇。^_^
VI的使用方法這里就不羅嗦了,本文假設(shè)大家已花了20分鐘學(xué)習(xí)過(guò)了vitutor。 ^_^
本節(jié)我們主要講一下Ctags這個(gè)程序。盡管ctags也可以支持其它編輯器,但是它正式支持的只有VIM。并且VIM中已經(jīng)默認(rèn)安裝了Ctags,它可以幫助程序員很容易地瀏覽源代碼。
如果當(dāng)前系統(tǒng)沒(méi)有ctags命令,就到 http://ctags.sourceforge.net/去下載安裝。
熟練的使用ctags僅需記住下面七條命令:(很簡(jiǎn)單吧,呵呵)
(1) $ ctags –R * ($ 為L(zhǎng)inux系統(tǒng)Shell提示符)
(2) $ vi –t tag (請(qǐng)把tag替換為您欲查找的變量或函數(shù)名)
(3) :ts (ts 助記字:tags list, “:”開(kāi)頭的命令為VI中命令行模式命令)
(4):tp (tp 助記字:tags preview)—?此命令不常用,可以不用記
(5) :tn (tn 助記字:tags next) —?此命令不常用,可以不用記
(6) Ctrl +[(上一個(gè)標(biāo)簽)
(7) Ctrl + ](下一個(gè)標(biāo)簽)
(8) Ctrl + T(回到第一個(gè)標(biāo)簽)
下面我們逐條的解釋上面的命令:
“$ ctags –R *”:“-R”表示遞歸創(chuàng)建,也就包括源代碼根目錄(當(dāng)前目錄)下的所有子目錄。“*”表示所有文件。這條命令會(huì)在當(dāng)前目錄下產(chǎn)生一個(gè)“tags”文件,當(dāng)用戶(hù)在當(dāng)前目錄中運(yùn)行vi時(shí),會(huì)自動(dòng)載入此tags文件。Tags文件中包括這些對(duì)象的列表:
@ 用#define定義的宏
@枚舉型變量的值
@ 函數(shù)的定義、原型和聲明
@ 名字空間(namespace)
@ 類(lèi)型定義(typedefs)
@ 變量(包括定義和聲明)
@ 類(lèi)(class)、結(jié)構(gòu)(struct)、枚舉類(lèi)型(enum)和聯(lián)合(union)
@ 類(lèi)、結(jié)構(gòu)和聯(lián)合中成員變量或函數(shù)
VIM用這個(gè)“tags”文件來(lái)定位上面這些做了標(biāo)記的對(duì)象。
剩下的命令就是定位這些對(duì)象的方法:
“$ vi –t tag” :在運(yùn)行vim的時(shí)候加上“-t”參數(shù),例如:
[/usr/src]$ vim -t main
這個(gè)命令將打開(kāi)定義“main”(變量或函數(shù)或其它)的文件,并把光標(biāo)定位到這一行。如果這個(gè)變量或函數(shù)有多處定義,在VI命令行模式“:ts”命令就能列出一個(gè)列表供用戶(hù)選擇.
“:tp”為上一個(gè)tag標(biāo)記文件,“:tn”為下一個(gè)tag標(biāo)記文件。當(dāng)然,若當(dāng)前tags文件中用戶(hù)所查找的變量或函數(shù)名只有一個(gè),“:tp,:tn”命令不可用。 :(最方便的方法是把光標(biāo)移到變量名或函數(shù)名上,然后按下“Ctrl+]”,這樣就能直接跳到這個(gè)變量或函數(shù)定義的源文件中,并把光標(biāo)定位到這一行。用“Ctrl+t”可以退回原來(lái)的地方。即使用戶(hù)使用了N次“Ctrl+]”查找了N個(gè)變量,按N次“Ctrl+t”也能回到最初打開(kāi)的文件,它會(huì)按原路返回 。 ^_^
注意:運(yùn)行vim的時(shí)候,必須在“tags”文件所在的目錄下運(yùn)行。否則,運(yùn)行vim的時(shí)候還要用“:settags=”命令設(shè)定“tags”文件的路徑,這樣vim才能找到“tags”文件。在完成編碼時(shí),可以手工刪掉tags文件(帚把不到,灰塵不會(huì)自己跑掉^_^)。
轉(zhuǎn)載于:https://my.oschina.net/hevakelcj/blog/138279
總結(jié)
- 上一篇: 知世故而不世故下一句
- 下一篇: 你知道CentOS Linux和Cent