默认情况下安装好build-essential,ubuntu 已经为我们安装了ctags
可以输入:$ctags --help 测试是否已经安装没有安装的话,输入:$ sudo apt-get install exuberant-ctags 即可安装
安装vim
sudo apt-get install vim
安装cscope
sudo apt-get install cscope
将cscope_maps.vim 放在 ~/.vim/plugin
vim添加了一个插件,cscope_maps.vim, 这个文件主要作用是作一些快捷键映射,免去了输入命令的麻烦
makdir ~/.vim
mkdir ~/.vim
mkdir ~/.vim/plugin
cp http://cscope.sourceforge.net/cscope_maps.vim ~/.vim/plugin/
cp ~/Downloads/cscope_maps.vim ~/.vim/plugin/
在.vimrc 中添加 source ~/.vim/plugin/cscope_maps.vim
see cscope_maps.vim
cd sourceCodeDir
cscope -Rbq
目录下会生成
cscope.in.out
cscope.out
cscope.po.out
Cscope的功能通过它的子命令“find”来实现。
cs find c|d|e|g|f|i|s|t name
- s:查找C代码符号
- g:查找本定义
- d:查找本函数调用的函数
- c:查找调用本函数的函数
- t:查找本字符串
- e:查找本egrep模式
- f:查找本文件
- i:查找包含本文件的文件
。在你跳转到新的位置后,简单地用 Ctrl-T 就可以跳回原处。
Ctrl-】 跳到全局变量/函数定义处。
---------------------------------
vim+cscope错误代码分析:
vim 文件名时出现的
//实际使用时会出现
Error detected while processing /home/peter/.vim/plugin/cscope_maps.vim:
line 42:
E568: duplicate cscope database not added
这是由于重复装载 cscope索引文件导致的,其实索引文件已经装载,所以可以不必对这个错误过分担心。但如果你觉得不爽,你也可以把~/.vim/plugin /cscope_maps.vim中链接索引文件的命令注释掉:
" add any cscope database in current directory
"if filereadable("cscope.out")
" cs add cscope.out
" else add the database pointed to by environment variable
"elseif $CSCOPE_DB != ""
" cs add $CSCOPE_DB
"endif
然后启动vim时,自己链接索引文件。
另外一种方法是设置环境变量CSCOPE_DB:
CSCOPE_DB=/project/cscope.out
export CSCOPE_DB
vim启动时就会自动搜索并链接$CSCOPE_DB指定的索引文件,所以我们只要把上面两行放到~/.bashrc里就可以了,注意要使用绝对路径。
要想更详细的了解cscope,请参考在线帮助:
:help cscope
E433: no tag files
E257: cstag: tag not found
E426: tag not found: mysql_query
E567: no cscope connections
没有为cscope添加数据库cscope.out
E563: stat ($CSCOPE_DB) error 2
为cscope添加数据库时,数据库宏$CSCOPE_DB 没有定义