標籤:
/********************************************************************* * 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使用