国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ctags的使用

2019-11-14 10:08:46
字體:
來源:轉載
供稿:網友

大多數的unix系統上都會預裝ctags,如果沒有可以使用在線安裝:sudo apt-get install ctags

生成tags文件

安裝成功后,要為源碼文件生成tags文件,才可享受ctags為閱讀代碼帶來的便利。$ ctags -R遞歸的為當前目錄及子目錄下的所有代碼文件生成tags文件為某些源碼生成tags文件,使用如下命令$ ctags filename.c filename1.c file.h或$ ctags .c .h 使用tagstag是什么?一個位置。它記錄了關于一個標識符在哪里被定義的信息,比如C或C++程序中的一個函數定義。這種tag聚集在一起被放入一個tags文件。這個文件可以讓Vim能夠從任何位置起跳達到tag所指示的位置-標識符被定義的位置。在vim打開源碼時,指定tags文件,才可正常使用,通常手動指定,在vim命令行輸入:set tags=./tags(當前路徑下的tags文件) 若要引用多個不同目錄的tags文件,可以用逗號隔開 或者設置 ~/.vimrc,加入一行,則不用手動設置tags路徑 : set tags=~/path/tags - 若要加入系統函數或全局變量的tag標簽,則需執行: ctags -I __THROW –file-scope=yes –langmap=c:+.h –languages=c,c++ –links=yes –c-kinds=+p –fields=+S -R -f ~/.vim/systags /usr/include /usr/local/include 并且在~/.vimrc中添加(亦可用上面描述的手動加入的方式): set tags+=~/.vim/systags 這樣,便可以享受系統庫函數名補全、原型預覽等功能了。 如果經常在不同工程里查閱代碼,那么可以在~/.vimrc中添加: set tags=tags; set autochdir - CTRL+] 命令會取當前光標下的Word作為tag的名字并直接跳轉。這使得在大量C程序中進行探索更容易一些。假設你正看函數”write block”,發現它調用了一個叫”write line”的函數,這個函數是干什么的呢?你可以把光標置于”write_line”上,按下CTRL+]即可。如果”write_line”函數又調用了 “write_char”.你當然又要知道這個函數又是什么功能。同時,置光標于”write_char”上按下CTRL+]。現在你位于函數”write_char”的定義處。 “:tags”命令會列出現在你就已經到過哪些tag了: (ex command):tags 現在往回走。CTRL+T命令會跳到你前一次的tag處。在上例中它會帶你到調用了”write_char”的”write_line”函數的地方。CTRL+T可以帶一個命令記數, 以此作為往回跳的次數, 你已經向前跳過了,現在正在往回跳,我們再往前跳一次。下面的命令可以直接跳轉到當前tag序列的最后: (ex command) :tag 你也可以給它一個前輟, 讓它向前跳指定的步長. 比如”:3tag”。CTRL+T也可以帶一個前輟。這些命令可以讓你向下深入一個函數調用樹(使用CTRL+]), 也可以回溯跳轉(使用CTRL+T). 還可以隨時用”:tags”看你當前的跳轉歷史記錄。

ctags中C語言的kind

c classes d macro definitions e enumerators (values inside an enumeration) f function definitions g enumeration names l local variables [off] m class, struct, and union members n namespaces p function PRototypes [off] s structure names t typedefs u union names v variable definitions x external variable declarations [off]


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陈巴尔虎旗| 监利县| 新河县| 宜都市| 凤庆县| 邯郸县| 平塘县| 马山县| 平定县| 信阳市| 呼图壁县| 滦平县| 皋兰县| 印江| 策勒县| 东乡| 天祝| 灵宝市| 灯塔市| 平顶山市| 湖北省| 东光县| 津市市| 阿拉善右旗| 苏州市| 青河县| 镇江市| 鹤山市| 富宁县| 棋牌| 鄂尔多斯市| 山东| 宝坻区| 库伦旗| 锡林浩特市| 大同市| 禄丰县| 吐鲁番市| 高邮市| 衡阳市| 商洛市|