轉載請註明來自“柳大的CSDN部落格”:http://blog.csdn.net/poechant
經過《Vim實戰手冊(8)Vimide——打造你自己的IDE(A)》和《Vim實戰手冊(9)Vimide——打造你自己的IDE(B)》兩篇博文,你可能還不滿足。因為當我們用Visual
Studio、Eclipse、Xcode等編輯器時,有一些非常強大的功能,比如:
(1)查看某一函數都在哪些函數中被調用過;
(2)查看某一函數都調用了哪些函數;
(3)查看某一檔案被哪些檔案包含;
(4)查看某一變數都在哪裡被引用過;
……
1、Linux安裝Cscope(Mac使用者可以直接跳過)
首先要:http://sourceforge.net/projects/cscope/files/
如果你是在Linux平台上安裝Cscope,那麼可以直接:
1./configure
2make
3sudo make install
2、Mac安裝Cscope(Linux使用者不需要關注)
如果你使用的是Mac平台,需要先編輯src/constants.h,找到這段代碼:
1#if (BSD || V9) && !__NetBSD__ && !__FreeBSD__
修改為:
1#if (BSD || V9) && !__NetBSD__ && !__FreeBSD__ && !__APPLE__
然後再編譯:
1./configure
2make
3sudo make install
3、在VimRC中配置Cscope
1 setcscopequickfix=s-,c-,d-,i-,t-,e-
4、產生cscope檔案
在你的工程根目錄下,輸入以下命令:
1cscope-bqR
則會自動產生如下三個檔案:
5、在Vim中匯入Cscope檔案
cscope檔案都已經被產生了,但是還沒有與你的工程關聯起來。這時候你可以進入Vim,輸入命令:
其中cs表示scope,add是將scope源檔案匯入到工程中,第一個參數是scope的out檔案,第二個參數是工程的根目錄。如果你經常編輯該工程,你可以將這個命令寫入到VimRC。
6、體驗Cscope
嘗試查詢conn_set_state函數被調用過多少次以及分別在哪裡調用。輸入命令:
:cs find c conn_set_state
結果為:
如果結果很多,你可以使用命令“cw”來開啟QuickFix視窗,來切換搜尋結果。
7、Cscope的快速鍵
(1)索指定符號
cs find s <symbol>
(2)搜尋定義
cs find g <var_name|func_name>
(3)搜尋函數所調用的函數
cs find d <functions_invoked>
(4)搜尋調用此函數的函數
cs find c <functions_invoking>
(5)搜尋指定字串
cs find t <text>
(6)搜尋egrip指定的模式
cs find e <egrip>
(7)搜尋檔案
cs find f <filename>
(8)搜尋包含本檔案的檔案
cs find i <including_files>
8、映射Cscope快速鍵
你可以自訂Cscope這些快速鍵,方法可以類似參照我們在使用WinManager時自訂的“wm”。
未完待續,歡迎您繼續關注接下來的博文 : )
轉載請註明來自“柳大的CSDN部落格”:http://blog.csdn.net/poechant
-