如何使用ctags打tags

tags有什么用去枷?
????我知道的用途只有兩個。一個是根據tag來跳轉,一個是根據tag來自動補齊

關于自動補齊的一些說明例朱?
????tags的自動補齊實際上是通過vim的omni completion(即ctrl-x,ctrl-o)來實現(xiàn)的。現(xiàn)在還有一種更強大的補齊方式(即clang)鱼蝉,這種通過User defined completion(即ctrl-x,ctrl-u)來實現(xiàn)的

兩種補齊方式官方文檔如下:
??https://www.vim.org/scripts/script.php?script_id=2358
??https://www.vim.org/scripts/script.php?script_id=3302

下面重點說下ctags的常用選項
--list-maps(列出所有語言和文件后綴的映射關系洒嗤,即什么樣的文件被認為是什么樣的語言)
--list-kinds=c(列出指定語言的所有tag類型。注意魁亦,有些類型默認是關閉的)

--links=yes(沿著軟連接走下去渔隶,默認yes,不用理它)
--file-scope=yes(文件范圍的tag也打進去洁奈,默認yes间唉,不用理它)

--langmap=c:+.h(改變默認的語言映射關系。.h默認映射到c++)
--languages=c,c++(只對特定語言的文件打tag利术。就是說你輸入的這些文件呈野,如果被判定不是指定語言,是不會進行處理的)

--c-kinds=+p(開啟c語言的函數(shù)原型tag類型印叁。自動補齊需要)
--c++-kinds=+p(開啟c++語言的函數(shù)原型tag類型被冒。自動補齊需要)

--fields=+iaS(每個tag军掂,給出更詳細的信息。自動補齊需要)
--extra=+q(即qualified fileds昨悼,也打上tag蝗锥。自動補齊需要)

-I __THROW -I __attribute_pure__ -I __nonnull -I __attribute__(忽略這些關鍵字,不然有些c函數(shù)沒法識別)

--exclude=c++(打tag的時候率触,忽略指定的目錄或者文件)
-L project.files(把要打tag的文件列表寫入project.files文件)  

-f ~/mytags/cpp(指定tags的文件名稱)
-R(對目錄遞歸執(zhí)行)
標準c++ tags
1 下載cpp_src源碼(https://www.vim.org/scripts/script.php?script_id=2358)
2 ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -R -f ~/mytags/cpp ~/cpp_src
標準c tags
ctags -I __THROW -I __attribute_pure__ -I __nonnull -I __attribute__ \
      --langmap=c:+.h --languages=c \
      --c-kinds=+p --fields=+iaS --extra=+q \
      -f ~/mytags/systags \
      /usr/include/*.h  \
      /usr/include/sys/*.h
      /usr/include/netinet/*.h
頭文件目錄玛追,根據需求自己加。我不喜歡用-R /usr/include(沒用的符號太多)
也可以選擇用-L tmp.txt這種方式闲延,下面是自動生成tmp.txt的方法
ls -lh /usr/include | grep '^d' | awk '{print $9}' | sed -E 's#(.*)#/usr/include/&/*.h#' | sed '1i /usr/include/*.h' > tmp.txt
Project tags
ctags --c-kinds=+p --c++-kinds=+p --fields=+iaS --extra=+q --languages=c,c++ -R ./
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末痊剖,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子垒玲,更是在濱河造成了極大的恐慌陆馁,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件合愈,死亡現(xiàn)場離奇詭異叮贩,居然都是意外死亡,警方通過查閱死者的電腦和手機佛析,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門益老,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人寸莫,你說我怎么就攤上這事捺萌。” “怎么了膘茎?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵桃纯,是天一觀的道長。 經常有香客問我披坏,道長态坦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任棒拂,我火速辦了婚禮伞梯,結果婚禮上,老公的妹妹穿的比我還像新娘帚屉。我一直安慰自己谜诫,他們只是感情好,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布涮阔。 她就那樣靜靜地躺著猜绣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪敬特。 梳的紋絲不亂的頭發(fā)上掰邢,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天牺陶,我揣著相機與錄音,去河邊找鬼辣之。 笑死掰伸,一個胖子當著我的面吹牛,可吹牛的內容都是我干的怀估。 我是一名探鬼主播狮鸭,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼多搀!你這毒婦竟也來了歧蕉?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤康铭,失蹤者是張志新(化名)和其女友劉穎惯退,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體从藤,經...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡催跪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了夷野。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片懊蒸。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖悯搔,靈堂內的尸體忽然破棺而出骑丸,到底是詐尸還是另有隱情,我是刑警寧澤鳖孤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布者娱,位于F島的核電站,受9級特大地震影響苏揣,放射性物質發(fā)生泄漏。R本人自食惡果不足惜推姻,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一平匈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧藏古,春花似錦增炭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至厂捞,卻和暖如春输玷,著一層夾襖步出監(jiān)牢的瞬間队丝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工欲鹏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留机久,地道東北人。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓赔嚎,卻偏偏與公主長得像膘盖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子尤误,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內容

  • 曾經使用了幾年多的Vim侠畔,手冊也翻過一遍。雖然現(xiàn)在不怎么用vim了损晤,曾經的筆記還是貼出來软棺,與喜歡vim的朋友分享。...
    Sylar丶閱讀 888評論 0 0
  • 第一步:配_vimrc沉馆,配成自己喜歡的樣式码党。 代碼:在.vimrc中添加以下代碼后,重啟vim即可實現(xiàn)按TAB產生...
    南濱月亮閱讀 1,430評論 0 1
  • sudo apt-get install vim gedit sudo gedit /.vimrc copy to...
    Cyfeng閱讀 492評論 0 0
  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007閱讀 2,210評論 0 3
  • 我不想說話 害怕一說話就坦漏心扉 一坦漏心扉就引起誤會 有誤會還得去解釋 而我 懶得解釋 強者用強勢掩蓋真相 弱者...
    天賦還沒用到閱讀 502評論 1 1