首先搞定源http://blog.jsdan.com/2490(源 )--10.04的源
由于Ubuntu9.10没有默认安装vim,按照ubuntuwiki上的一篇老旧的文章: http://wiki.ubuntu.org.cn/%E8%80%81%E6%97%A7%E6%96%87%E7%AB%A0/Gvim%E7%9A%84%E5%AE%89%E8%A3%85%E5%8F%8A%E9%85%8D%E7%BD%AE
sudo apt-get install vim-gtk vim-doc cscope
sudo apt-get exuberant-ctags
现在,系统上就有ctags和cscope的存在了
或者直接编译VIM。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
开始学习vim和ctags与cscope的使用:
参考文献:
http://blog.163.com/lucien_cc/blog/static/130290562200992885211378/?fromdm&fromSearch&isFromSearchEngine=yes
http://bieahoff.blog.163.com/blog/static/9075777200962910526721/
http://cscope.sourceforge.net/cscope_vim_tutorial.html
vim中文用户手册
易水博客http://easwy.com/blog/archives/exuberant-ctags-chinese-manual/
等等......
一、在源文件根目录下建立ctags和cscope树
在目录下建立cscope索引文件:
为了方便使用,编写了下面的脚本来更新cscope和ctags的索引文件:
#!/bin/sh
find . -name "*.h" -o -name "*.c" -o -name "*.cc" -o -name "*.cpp"> cscope.files
cscope -bkq -i cscope.files
ctags -R
在任何想要在vim内部使用cscope和ctags的命令的话,都要加载cscope的库:cscope.out
cs add cscope.out <目标文件夹>
二、cscope基本操作
http://blog.chinaunix.net/u1/38994/showart.php?id=483483
目前还是不会用在vim下的cscope只能直接在终端上打印cscope然后对想要查找的东西进行查找咯~~~~
-----------------------------------------------------------------方法一--------------------------------------------------------------------------
经过两天的资料查找,在vim下的cscope的操作还是很麻烦:
首先,加载cscope.out
然后,使用 cs f <order> <str>命令进行查找。
<order>:
0或则S:查找本符号
1或则G:查找本定义
2或则D:查找本函数调用的函数
3或则C:查找调用本函数的函数
4或则T:查找本字符串
6或则E:查找本EGREP模式
7或则F:查找本文件
8或则I:查找包含本文件的文件
-----------------------------------------------------------------方法二--------------------------------------------------------------------------
直接在SHELL上cd到源代码目录下,使用cscope命令进入cscope界面
Ctrl+D退出cscope
cscope提供了如下九种查询方式:
Find this C symbol: #查找指定的C符号
Find this global definition: #查找指定的全局定义
Find functions called by this function: #查找指定函数调用的函数
Find functions calling this function: #查找调用指定函数的函数
Find this text string: #查找字符串
Change this text string: #修改指定字符串
Find this egrep pattern: #查找匹配字符
Find this file: #查找指定文件
Find files #including this file: #指定引用头文件进行查找
三、ctags的操作
加载cscope的库:cscope.out
vim打开了一个*.c文件。如, 你 在 看 程 序 时 看 到 某 处 调 用 了 一 个叫foo bar()的程序, 你可以将光标停在foo bar单词上(停在该单词任何一个字符都可, 译者注), 然后按下CTRL-]键, 它就会跳转到该函数的定义处。也可以查找头文件。
Ctrl+T返回刚才的文件,就是返回 跳转到标签前的前一次位置。