Vim實戰手冊(10)Vimide——打造你自己的IDE(C)

來源:互聯網
上載者:User

    轉載請註明來自“柳大的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

-

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.