日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

vim+cscope的使用

發(fā)布時(shí)間:2025/3/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vim+cscope的使用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.?vim的準(zhǔn)備

首 先?vim?--version?|?grep?cscope,看看vim是否支持cscope,如果不支持需要重新安裝vim。最簡(jiǎn)單的是在. /configure?后加上-enable-cscope,當(dāng)然可以在Makefile文件(./src/Makefile)中修改(把原來(lái)的注釋去 掉),這是最根本的:

CONF_OPT_CSCOPE?=?--enable-cscope

然后安裝:make?&&?make?install ?

2.? 在目錄下建立cscope索引文件

為了方便使用,編寫(xiě)了下面的腳本來(lái)更新cscope和ctags的索引文件:

#!/bin/sh

find?.?-name?"*.h"?-o?-name?"*.c"?-o?-name?"*.cc"?>?cscope.files

cscope?-bkq?-i?cscope.files

ctags?-R

?

這個(gè)命令會(huì)生成三個(gè)文件:cscope.out,?cscope.in.out,?cscope.po.out。

其中cscope.out是基本的符號(hào)索引,后兩個(gè)文件是使用"-q"選項(xiàng)生成的,可以加快cscope的索引速度。

這個(gè)腳本,首先使用find命令,查找當(dāng)前目錄及子目錄中所有后綴名為".h",?".c"和".c"的文件,并把查找結(jié)果重定向到文件cscope.files中。

然后cscope根據(jù)cscope.files中的所有文件,生成符號(hào)索引文件。

最后一條命令使用ctags命令,生成一個(gè)tags文件,在vim中執(zhí)行":help?tags"命令查詢(xún)它的用法。它可以和cscope一起使用。

上面所用到的命令參數(shù),含義如下:

-R:?在生成索引文件時(shí),搜索子目錄樹(shù)中的代碼

-b:?只生成索引文件,不進(jìn)入cscope的界面

-q:?生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度

-k:?在生成索引文件時(shí),不搜索/usr/include目錄

-i:?如果保存文件列表的文件名不是cscope.files時(shí),需要加此選項(xiàng)告訴cscope到哪兒去找源文件列表。可以使用“-”,表示由標(biāo)準(zhǔn)輸入獲得文件列表。

-I?dir:?在-I選項(xiàng)指出的目錄中查找頭文件

-u:?掃描所有文件,重新生成交叉索引文件

-C:?在搜索時(shí)忽略大小寫(xiě)

-P?path:?在以相對(duì)路徑表示的文件前加上的path,這樣,你不用切換到你數(shù)據(jù)庫(kù)文件所在的目錄也可以使用它了。

3 在vim里讀代碼

在VIM中使用cscope非常簡(jiǎn)單,首先調(diào)用“ cscope?add” 命令添加一個(gè)cscope數(shù)據(jù)庫(kù),然后就可以調(diào)用“ cscope?find” 命令進(jìn)行查找了。VIM支持8種cscope的查詢(xún)功能,如下:例如,我們想在代碼中查找調(diào)用work()函數(shù)的函數(shù),我們可以輸入:“ :cs?find?c?work” ,回車(chē)后發(fā)現(xiàn)沒(méi)有找到匹配的功能,可能并沒(méi)有函數(shù)調(diào)用work()。我們?cè)佥斎搿?/span> :cs?find?s?work” ,查找這個(gè)符號(hào)出現(xiàn)的位置,現(xiàn)在vim列出了這個(gè)符號(hào)出現(xiàn)的所有位置。我們還可以進(jìn)行字符串查找,它會(huì)雙引號(hào)或單引號(hào)括起來(lái)的內(nèi)容中查找。還可以輸入一個(gè)正則表達(dá)式,這類(lèi)似于egrep程序的功能。

s:?查找C語(yǔ)言符號(hào),即查找函數(shù)名、宏、枚舉值等出現(xiàn)的地方

g:?查找函數(shù)、宏、枚舉等定義的位置,類(lèi)似ctags所提供的功能

d:?查找本函數(shù)調(diào)用的函數(shù)

c:?查找調(diào)用本函數(shù)的函數(shù)

t:?查找指定的字符串

e:?查找egrep模式,相當(dāng)于egrep功能,但查找速度快多了

f:?查找并打開(kāi)文件,類(lèi)似vim的find功能

i:?查找包含本文件的文件

?

?

from: http://blog.csdn.net/freelyc/archive/2009/03/03/3953240.aspx

總結(jié)

以上是生活随笔為你收集整理的vim+cscope的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。