vim+cscope的使用
1.?vim的準備
首 先?vim?--version?|?grep?cscope,看看vim是否支持cscope,如果不支持需要重新安裝vim。最簡單的是在. /configure?后加上-enable-cscope,當然可以在Makefile文件(./src/Makefile)中修改(把原來的注釋去 掉),這是最根本的:
CONF_OPT_CSCOPE?=?--enable-cscope
然后安裝:make?&&?make?install ?
2.? 在目錄下建立cscope索引文件
為了方便使用,編寫了下面的腳本來更新cscope和ctags的索引文件:
#!/bin/sh
find?.?-name?"*.h"?-o?-name?"*.c"?-o?-name?"*.cc"?>?cscope.files
cscope?-bkq?-i?cscope.files
ctags?-R
?
這個命令會生成三個文件:cscope.out,?cscope.in.out,?cscope.po.out。
其中cscope.out是基本的符號索引,后兩個文件是使用"-q"選項生成的,可以加快cscope的索引速度。
這個腳本,首先使用find命令,查找當前目錄及子目錄中所有后綴名為".h",?".c"和".c"的文件,并把查找結果重定向到文件cscope.files中。
然后cscope根據cscope.files中的所有文件,生成符號索引文件。
最后一條命令使用ctags命令,生成一個tags文件,在vim中執行":help?tags"命令查詢它的用法。它可以和cscope一起使用。
上面所用到的命令參數,含義如下:
-R:?在生成索引文件時,搜索子目錄樹中的代碼
-b:?只生成索引文件,不進入cscope的界面
-q:?生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
-k:?在生成索引文件時,不搜索/usr/include目錄
-i:?如果保存文件列表的文件名不是cscope.files時,需要加此選項告訴cscope到哪兒去找源文件列表。可以使用“-”,表示由標準輸入獲得文件列表。
-I?dir:?在-I選項指出的目錄中查找頭文件
-u:?掃描所有文件,重新生成交叉索引文件
-C:?在搜索時忽略大小寫
-P?path:?在以相對路徑表示的文件前加上的path,這樣,你不用切換到你數據庫文件所在的目錄也可以使用它了。
3 在vim里讀代碼
在VIM中使用cscope非常簡單,首先調用“ cscope?add” 命令添加一個cscope數據庫,然后就可以調用“ cscope?find” 命令進行查找了。VIM支持8種cscope的查詢功能,如下:例如,我們想在代碼中查找調用work()函數的函數,我們可以輸入:“ :cs?find?c?work” ,回車后發現沒有找到匹配的功能,可能并沒有函數調用work()。我們再輸入“ :cs?find?s?work” ,查找這個符號出現的位置,現在vim列出了這個符號出現的所有位置。我們還可以進行字符串查找,它會雙引號或單引號括起來的內容中查找。還可以輸入一個正則表達式,這類似于egrep程序的功能。
s:?查找C語言符號,即查找函數名、宏、枚舉值等出現的地方
g:?查找函數、宏、枚舉等定義的位置,類似ctags所提供的功能
d:?查找本函數調用的函數
c:?查找調用本函數的函數
t:?查找指定的字符串
e:?查找egrep模式,相當于egrep功能,但查找速度快多了
f:?查找并打開文件,類似vim的find功能
i:?查找包含本文件的文件
?
?
from: http://blog.csdn.net/freelyc/archive/2009/03/03/3953240.aspx
總結
以上是生活随笔為你收集整理的vim+cscope的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu配置文件对照表
- 下一篇: vi编辑器命令大全