標籤:
0. 寫在前面的廢話
開發環境遷移到了Ubuntu下,所有windows下好用的工具都要找個替代品。
windows下一直用 souce Insight 來閱讀源碼,需要在Ubuntu下找個替代品。
上網看了看,貌似Vim + Ctags + Cscope不錯,安裝來試試 o(∩∩)o
1. 安裝
在我用的ubuntu中,這三個軟體都不是內建的,需要手動安裝,很簡單用apt-get命令安裝就好了
$ sudo apt-get install vim
$ sudo apt-get install ctags
$ sudo apt-get install cscope
如:
2. 使用
2.1 建立索引
在能自由搜尋之前,需要在你想要查看源碼的根目錄下建立索引,也就是執行兩條命令:
$ ctags -R
$ cscope-indexer -r
2.2 在vim 中使用ctag
1) 跳轉到指定的函數進入vim後,用 “:tag func_name“ 跳到函數func_name處。使用tag
命令時,可以使用TAB鍵進行匹配尋找,繼續按TAB鍵向下切換。
某個函數有多個定義時
:tag
跳到第一個定義處,優先跳轉到當前檔案
:tnext
跳到第一個
:tfirst
跳到前count個
:[count]tprevious
跳到後count個
:[count]tnext
跳到最後一個
:tlast
你也可以在所有tagname中選擇:
:tselect tagname
如果想跳到包含block的標識符:“tag /block” 然後用TAB鍵來選擇。這裡‘/‘就是告訴vim
‘block‘是一個語句塊標籤。
2)用“CTRL + ]“快速鍵,跳轉到游標所在函數標識符的定義處。
3)使用“CTRL + T”退回上層。如果想在以write_開頭的標識符中選擇一下, :tselect /^
write_ 這裡,‘^‘表示開頭,同理,‘$‘表示末尾。多個同名的標識符
2.3 在vim中使用csope
好吧,貌似應該叫在csope中使用vim,前提條件還是要先建立索引(cscope-indexer -r),然後在源碼根目錄執行csope命令
$ csope ,效果如
若干種尋找方式,隨便輸入焦點尋找內容,如i2c,按斷行符號鍵,效果如下:
選擇想要開啟的檔案,輸入前面序號即可在vim中開啟它,之後就可以在vim中使用ctags快速的在函數間跳來跳去的了^_^
兩面板切換: tab
cscope退出: ctrl + d
4.參考連結
http://www.360doc.com/content/10/0928/13/3564483_57033907.shtml ---- 使用Vim+Ctags+Cscope閱讀原始碼
http://blog.csdn.net/jsufcz/article/details/3988883 ----- 使用Vim+Ctags+Cscope閱讀原始碼
http://www.linuxidc.com/Linux/2011-04/34788p4.htm ------ Cscope的使用(領略Vim + Cscope的強大魅力)
Linux 下閱讀源碼工具(Vim + ctags+Cscope)