vim如何跳轉到函數定義處及找到在何處被調用-cscope使用

來源:互聯網
上載者:User

標籤:

/********************************************************************* * Author  : Samson * Date    : 07/02/2015 * Test platform: *              gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2 *              GNU bash, 4.3.11(1)-release (x86_64-pc-linux-gnu)  * Nginx version: *              Nginx 1.6.2 *              Nginx 1.8.0 * *******************************************************************/

在vim的世界中,當查看原始碼的時候,使用ctags工具可以實現函數方法的跳轉,若要在源碼中找到對應方法在哪些地方進行了調用或在哪兒定義的,只有使用grep命令進行尋找得到,這樣需要另起一個終端或在同一個終端中使用:!grep fucname ./* -rn | grep tags, 這樣的切換對於ssh到遠程操作的並不那麼方便,那有沒有更好的外掛程式工具能夠直接完成以上的這個功能需求呢? 那麼就使用cscope工具吧,它能夠完成以上描述的ctags+grep所能夠完成的功能,在GNU Linux中執行如下命令即可安裝。

sudo apt-get install cscope

使用方法:
1、下載 cscope_maps.vim(:http://cscope.sourceforge.net/cscope_maps.vim ) 檔案,並在您的 Vim 啟動設定檔中加入此檔案。 如果您使用的是 Vim 6.x 版本,您可以將這個檔案安排在 $HOME/.vim/plugin 目錄下(如果是其他的目錄,請您瞭解您的 ‘runtimepath‘ 環境變數)。 如果您正在使用的是 Vim5.x 的版本,您可以將此檔案的所有內容加入您的 $HOME/.vimrc 檔案中,或者在 .vimrc 中加入 "source cscope_maps.vim" 命令(注,此檔案無比在可識別的路徑中)。

2、在原始碼目錄下,執行cscope -Rb方法產生cscope.out檔案,這是一個索引檔案,類似於ctags產生的tags索引檔案一樣的作用;

3、開啟 Vim,如果您使用 C 代碼中已有的標記(symbol)(例如:‘vim -t main‘),那麼 Vim 將跳轉到您所希望的地方。將游標移動到程式中的各個源碼中的某個函數處,連續的快讀的鍵入 "CTRL - \ S"(就是按下 CRTL - 反斜線,然後再按 ‘S‘),然後你會看見在 Vim 底部彈出一個視窗(Window),它顯示了程式中所對應的標記。選擇相應的一個並鍵入斷行符號,就會跳到對應的位置。和 ctags 一樣,你可以鍵入 "CTRL-t" 就可以回到搜尋前的位置。

更多使用方法:
http://graceco.de/manual/cscope_vim_tutorial_zh.html

REF:
http://cscope.sourceforge.net/


著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

vim如何跳轉到函數定義處及找到在何處被調用-cscope使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.