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

ctags 的一些實用細節??!

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

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

$cd yourwork $ctags -R *

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

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

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

這樣就能自動完成結構和類的成員了。

但是,對于系統的函數,還是沒有跳轉。如socket定義,inetaddr_in這樣的結構沒有自動變量完成。
最簡單做法:

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

然后在.vimrc里設置

set tags+=~/.vim/systags

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

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

這是因為 __THROW的宏定義讓ctags不再認為該系列函數是函數。
同理,如memcpy系列函數:
如/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里面是全的,但內容過多。一個函數定義的跳轉,會有幾十個候選。這時我們可以簡化一下,將-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/*

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


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

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

<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統計

公告

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

常用鏈接

留言簿(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>
            亚洲大胆av| 新片速递亚洲合集欧美合集| 欧美亚洲一区| 欧美一进一出视频| 欧美一区二区精品| 久久免费国产精品| 久久亚洲综合色一区二区三区| 久久免费视频在线观看| 久久综合五月天婷婷伊人| 欧美激情一区二区三区在线| 亚洲国产91精品在线观看| 久久成人亚洲| 欧美成人一区二区| 日韩午夜在线播放| 亚洲一区制服诱惑| 久久天天躁夜夜躁狠狠躁2022 | 久久精品电影| 久久视频一区二区| 欧美日韩精品中文字幕| 国产精品无码专区在线观看 | 国产欧美精品国产国产专区| 国内精品久久久| 亚洲精品永久免费| 欧美一区二区在线免费观看| 欧美chengren| 亚洲午夜激情在线| 欧美超级免费视 在线| 欧美视频免费在线观看| 久久露脸国产精品| 国产毛片一区| 欧美日本在线| 久久成人免费视频| 亚洲欧美日韩精品久久| 影音先锋久久资源网| 欧美女激情福利| 欧美久久久久| 国产麻豆精品视频| 欧美久久一区| 欧美一区二区高清| 欧美激情中文字幕一区二区| 亚洲精品视频一区| 亚洲国产精品一区二区www在线| 亚洲国产专区| 国产色爱av资源综合区| 亚洲国产高清一区| 亚洲美女精品久久| 久久免费精品视频| 欧美久久在线| 国产精品视频自拍| 99视频日韩| 久久精品国产91精品亚洲| 日韩一二在线观看| 久久久久欧美精品| aa亚洲婷婷| 欧美成人a视频| 久久九九热免费视频| 国产一区二区久久精品| 欧美一区午夜精品| 亚洲欧美激情一区二区| 国产精品久久久久一区二区三区 | 欧美伊人久久大香线蕉综合69| 亚洲经典三级| 久久久精品欧美丰满| 亚洲另类自拍| 亚洲国产日韩在线| 欧美国产日韩一区二区在线观看| 亚洲第一区在线观看| 欧美阿v一级看视频| 女女同性女同一区二区三区91| 亚洲国产精品综合| 亚洲第一精品在线| 欧美精品麻豆| 亚洲自拍偷拍色片视频| 亚洲综合大片69999| 国产久一道中文一区| 久久久激情视频| 久久亚洲视频| 一区二区高清在线| 亚洲午夜久久久久久久久电影院| 国产伦精品一区二区三区视频黑人| 欧美一级在线视频| 久久精品视频亚洲| 日韩亚洲一区在线播放| av不卡在线| 国产亚洲人成a一在线v站| 免费观看成人www动漫视频| 欧美激情精品久久久六区热门| 中文av一区二区| 欧美一级二区| 亚洲美女av网站| 午夜免费日韩视频| 日韩网站在线看片你懂的| 亚洲欧美三级伦理| 亚洲精品视频在线观看免费| 亚洲在线中文字幕| 亚洲国产91精品在线观看| 宅男噜噜噜66一区二区| 亚洲成人自拍视频| 亚洲免费在线观看视频| 亚洲精品国产精品乱码不99按摩| 亚洲性线免费观看视频成熟| 亚洲经典自拍| 欧美一区二区三区视频在线观看 | 亚洲黄色一区二区三区| 国产精品色婷婷| 亚洲经典自拍| 一区二区三区在线免费观看| 一本一本久久| 亚洲欧洲精品天堂一级| 亚洲欧美国产毛片在线| 亚洲最黄网站| 久久一区激情| 久久激情五月激情| 国产精品久久久久影院亚瑟| 亚洲激情六月丁香| 亚洲欧洲日本国产| 浪潮色综合久久天堂| 久久久久中文| 国产亚洲激情| 欧美一级在线播放| 欧美亚洲一级片| 国产精品美女久久久久久2018 | 亚洲在线视频免费观看| 最新国产の精品合集bt伙计| 欧美综合国产| 久久精品久久99精品久久| 国产精品美女诱惑| 亚洲香蕉网站| 亚洲欧美电影院| 欧美色播在线播放| 亚洲免费观看高清完整版在线观看熊 | 美日韩在线观看| 国内精品久久久久影院色 | 久久五月天婷婷| 久久精品国产综合精品| 国产日产欧产精品推荐色| 亚洲女爱视频在线| 久久国产视频网| 国产欧美一区二区三区久久| 亚洲欧美在线高清| 久久精品国产欧美亚洲人人爽| 国产精品视频yy9299一区| 亚洲欧洲av一区二区| 久久精品视频导航| 136国产福利精品导航网址应用 | 亚洲欧美日韩精品久久| 久久国产99| 在线精品一区二区| 欧美成人一区二区三区| 亚洲人午夜精品| 亚洲主播在线观看| 国产偷国产偷精品高清尤物| 久久激情综合网| 亚洲精品1区| 性色av一区二区三区| 国内精品久久久久久久97牛牛| 久久久蜜臀国产一区二区| 亚洲国产日韩欧美| 亚洲男人的天堂在线| 合欧美一区二区三区| 欧美精品1区2区3区| 亚洲欧美日韩天堂| 免费欧美电影| 亚洲图片欧美日产| 黄色一区二区在线| 欧美视频日韩视频在线观看| 性久久久久久久久久久久| 亚洲国产精品综合| 久久精品2019中文字幕| 亚洲乱码国产乱码精品精98午夜| 国产精品国产三级国产专播品爱网 | 韩国欧美国产1区| 欧美成人免费视频| 亚洲综合色在线| 欧美激情中文字幕乱码免费| 亚洲一区三区视频在线观看| 欧美中文字幕在线观看| 最新国产乱人伦偷精品免费网站| 国产精品video| 免费观看国产成人| 欧美一级大片在线免费观看| 亚洲精品系列| 另类图片综合电影| 午夜亚洲伦理| 一本久久a久久精品亚洲| 国模精品一区二区三区| 欧美视频不卡| 欧美不卡在线视频| 久久国产精品久久久| 一区二区三区福利| 亚洲激情在线观看视频免费| 欧美a级大片| 久久亚洲电影| 久久九九99| 性视频1819p久久| 亚洲一级二级| 中文av一区特黄| av成人老司机| 日韩视频永久免费观看| 亚洲国产另类久久精品|