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

ctags 的一些實(shí)用細(xì)節(jié)?。?/a>

   ctags在linux下的作用我就不再贅述了,這里是剛剛看到的一篇文章,是一些使用的ctags細(xì)節(jié)。
      轉(zhuǎn)自:  http://blog.chinaunix.net/uid-20874550-id-2412585.html (此貼也是轉(zhuǎn)載的   peakflys注)

ctags 在使用vim編程和瀏覽代碼是非常有用??梢杂肅TRL+]和CTRL+t 來回跳轉(zhuǎn)關(guān)鍵字(peakflys注:在有些環(huán)境下CTRL+] 快捷鍵不出現(xiàn)同名跳轉(zhuǎn)列表,而是直接跳轉(zhuǎn)到查找到的第一條記錄,此時可以使用g+]代替  ) 。
先生成自己工作目錄的tags。最簡單粗暴用法:

$cd yourwork $ctags -R *

這樣會生成一個tags文件。
不過,這種有個問題,成員變量沒有包含在里面。所以自動完成對象的成員時沒有提示。
解決辦法:

$ctags -R --fields=+iaS --extra=+q *

–fields=[+|-]flags
–fields指定tags的可用擴(kuò)展域(extension fields),以包含到tags入口。
i:繼承信息Inheritance information
a:類成員的訪問控制信息 Access (or export) of class members
S: 常規(guī)簽名信息,如原型或參數(shù)表 Signature of routine(e.g. prototype or parameter list)
–extra=[+|-]flags
指定是否包含某種擴(kuò)展信息到tags入口。
q:包含類成員信息(如c++,java,Eiffel)。
但就算是C 語言的結(jié)構(gòu),也需要這兩個參數(shù)設(shè)置才能獲取成員信息。

這樣就能自動完成結(jié)構(gòu)和類的成員了。

但是,對于系統(tǒng)的函數(shù),還是沒有跳轉(zhuǎn)。如socket定義,inetaddr_in這樣的結(jié)構(gòu)沒有自動變量完成。
最簡單做法:

$ctags --fields=+iaS --extra=+q -R -f ~/.vim/systags /usr/include /usr/local/include

然后在.vimrc里設(shè)置

set tags+=~/.vim/systags

這樣雖然基本能跳轉(zhuǎn)到系統(tǒng)函數(shù)定義,一個問題是某些系統(tǒng)函數(shù)并沒有加入到systags里。
如/usr/incluce/socket.h的socket系列函數(shù),memset等很多關(guān)鍵函數(shù)都沒有到tag里:

extern int listen (int __fd, int __n) __THROW;

這是因?yàn)?__THROW的宏定義讓ctags不再認(rèn)為該系列函數(shù)是函數(shù)。
同理,如memcpy系列函數(shù):
如/usr/include/string.h的

extern int strcmp (__const char *__s1, __const char *__s2)      __THROW __attribute_pure__ __nonnull ((1, 2));

還有attribute_pure ,nonull等屬性,都需要忽略。如果需要#if 0里面的定義,可以–if0=yes來忽略 #if 0這樣的定義。

$ctags -I __THROW -I __attribute_pure__ -I __nonnull -I __attribute__ --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+p --c++-kinds=+p --fields=+iaS --extra=+q -R -f ~/.vim/systags /usr/include /usr/local/include

這樣.vim/systags里面是全的,但內(nèi)容過多。一個函數(shù)定義的跳轉(zhuǎn),會有幾十個候選。這時我們可以簡化一下,將-R去掉,自己指定目錄:

$ctags -I __THROW -I __attribute_pure__ -I __nonnull -I __attribute__ --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+p --c++-kinds=+p --fields=+iaS --extra=+q  -f ~/.vim/systags /usr/include/* /usr/include/sys/* /usr/include/bits/*  /usr/include/netinet/* /usr/include/arpa/* /usr/include/mysql/*

還可以包含一些自己編程需要的路徑。注意后面加*號。
這樣生成的系統(tǒng)tags就少多了。不會有太多不相干的定義。


(peakflys補(bǔ)充:tags有一個小技巧,在vimrc文件中set tags=tags; (注意有分號),在vi中使用定位快捷鍵時會先在當(dāng)前目錄中查找tags文件,找不到的話,就會到父目錄中找,依次類推,這樣 你在編輯一個大工程時,只需要在最上一層建立一個tags文件,之后可以任意切換到工程子目錄里去操作!)

posted on 2012-12-17 12:39 peakflys 閱讀(10310) 評論(0)  編輯 收藏 引用

<2025年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

導(dǎo)航

統(tǒng)計(jì)

公告

人不淡定的時候,就愛表現(xiàn)出來,敲代碼如此,偶爾的靈感亦如此……

常用鏈接

留言簿(4)

隨筆分類

隨筆檔案

文章檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            美女视频黄免费的久久| 麻豆亚洲精品| 亚洲国产成人精品女人久久久 | 性欧美video另类hd性玩具| 亚洲国产精品视频| 亚洲日本久久| 夜色激情一区二区| 亚洲午夜一区二区三区| 欧美一区二区三区在线免费观看 | 亚洲欧美中文日韩在线| 午夜视频在线观看一区二区| 亚洲资源av| 久久精品一级爱片| 亚洲国产成人在线| 91久久久久久| 亚洲自拍偷拍色片视频| 欧美主播一区二区三区| 久热re这里精品视频在线6| 欧美日韩在线大尺度| 国产日韩欧美视频在线| 亚洲国产欧美日韩精品| 性色一区二区| 亚洲国产专区| 欧美一激情一区二区三区| 免费的成人av| 国产手机视频一区二区| 一本色道88久久加勒比精品 | 在线中文字幕日韩| 久久手机精品视频| 国产精品初高中精品久久| 亚洲第一精品夜夜躁人人躁| 香蕉久久国产| 亚洲茄子视频| 久久午夜电影| 国产亚洲精品久久飘花| 亚洲已满18点击进入久久| 亚洲大胆av| 欧美一区二区三区免费观看| 欧美吻胸吃奶大尺度电影| 亚洲国产色一区| 久久久久久9| 亚洲午夜精品久久| 欧美日韩精品欧美日韩精品| 在线精品国精品国产尤物884a| 亚洲欧美文学| 这里只有精品电影| 欧美日韩精品一区二区天天拍小说 | 亚洲欧美韩国| 国产精品国产| 亚洲在线免费| 中国女人久久久| 欧美性大战久久久久久久| 日韩亚洲欧美中文三级| 91久久精品日日躁夜夜躁国产| 欧美成人乱码一区二区三区| 午夜宅男久久久| 中日韩高清电影网| 欧美国产日韩一区二区在线观看| 国产一区在线免费观看| 亚洲欧美日韩精品在线| 一区二区三区免费看| 欧美了一区在线观看| 亚洲精品一线二线三线无人区| 欧美成va人片在线观看| 另类图片综合电影| 亚洲高清自拍| 亚洲精品国产精品国自产观看浪潮| 免费精品视频| 一本在线高清不卡dvd| 99视频精品在线| 国产精品日韩精品| 午夜宅男久久久| 欧美在线国产| 亚洲高清视频一区二区| 欧美激情女人20p| 欧美另类在线播放| 午夜免费电影一区在线观看| 午夜在线精品偷拍| 黄色国产精品| 亚洲日本欧美| 国产精品毛片一区二区三区| 久久久精品动漫| 美女视频黄免费的久久| 在线午夜精品| 亚洲欧美一区二区在线观看| 激情五月综合色婷婷一区二区| 免费观看在线综合色| 欧美精品综合| 久久精品夜夜夜夜久久| 欧美成年人在线观看| 亚洲欧美精品在线| 久久琪琪电影院| 亚洲视屏在线播放| 欧美在线国产| 亚洲婷婷综合色高清在线| 欧美亚洲综合在线| 亚洲视频一二三| 久久亚裔精品欧美| 亚洲欧美在线免费观看| 模特精品在线| 久久精品视频免费观看| 欧美精品少妇一区二区三区| 欧美一区二区三区在线看| 欧美精品成人| 久久久国产成人精品| 欧美日韩精品欧美日韩精品一| 麻豆亚洲精品| 国产免费观看久久| 日韩一级裸体免费视频| 亚洲国产欧美国产综合一区| 性欧美8khd高清极品| 在线综合亚洲欧美在线视频| 久久影音先锋| 久久久久久亚洲精品杨幂换脸| 欧美日韩精品在线| 欧美激情精品久久久久久蜜臀 | 亚洲成色精品| 一二三区精品福利视频| 亚洲黄色av| 久久精品一区二区三区中文字幕 | 免费在线成人av| 久久成人资源| 国产精品免费视频观看| 亚洲六月丁香色婷婷综合久久| 在线播放日韩| 欧美怡红院视频一区二区三区| 亚洲欧美国产77777| 欧美日韩成人在线| 亚洲人成人99网站| 亚洲全黄一级网站| 久久亚洲二区| 欧美好吊妞视频| 亚洲国产欧美在线| 免费看成人av| 亚洲激情另类| 中文在线资源观看网站视频免费不卡 | 在线性视频日韩欧美| 欧美精品久久久久久久免费观看| 免费日韩视频| 亚洲国产视频直播| 欧美成熟视频| 99精品热视频| 欧美伊人影院| 精品成人国产| 欧美成人日本| av成人免费在线| 欧美一区二区在线| 狠狠综合久久| 免费试看一区| 一本高清dvd不卡在线观看| 午夜久久久久久| 在线播放亚洲一区| 欧美日韩高清不卡| 亚洲视频免费| 久久久久se| 亚洲精品美女在线观看播放| 欧美三级电影精品| 欧美一区日韩一区| 亚洲第一色在线| 亚洲一区亚洲二区| 韩国久久久久| 欧美日韩国产色视频| 午夜精品一区二区三区四区| 免费欧美视频| 亚洲一区亚洲| 亚洲国产成人porn| 国产精品免费福利| 蜜月aⅴ免费一区二区三区 | 亚洲主播在线观看| 免费久久99精品国产自| 99精品99| 激情欧美丁香| 久久激情视频| 久久天堂精品| 亚洲人成网站色ww在线| 国产精品久久久久一区二区三区 | 亚洲精品国产精品国产自| 亚洲在线国产日韩欧美| 亚洲国产高清高潮精品美女| 国产精品99免费看| 久久综合一区| 先锋影音一区二区三区| 亚洲精品乱码| 免费成人毛片| 久久丁香综合五月国产三级网站| 亚洲精品看片| 国内免费精品永久在线视频| 欧美日韩美女一区二区| 久久中文字幕一区二区三区| 亚洲色图综合久久| 亚洲国产一区二区三区在线播| 亚洲欧美亚洲| 国产精品99久久99久久久二8| 在线观看视频一区二区| 国产伦精品一区二区三| 欧美午夜视频在线观看| 欧美精品1区2区| 欧美超级免费视 在线| 久久亚洲精品视频| 久久国产一区|