工欲善其事,必先利其器。一个强大的开发环境可以大大提高工作效率。
1,安装使用Ctags
Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。
map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
set tags=tags; set autochdir
到此,Ctags已安装成功。
使用Ctags的也很简单。 进入我们的项目代码根目录,执行以下命令:
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
另外,由于在前面第5条,我们已经在Vim中配置了Ctrl-F12组合快捷键,所以我们也可以进入代码根目录后,打开Vim,按下Ctrl-F12快捷键自动生成tags文件。
命令执行完后,会在源代码目录生成tags文件。Vim默认会自动读取当前目录下的tags文件,所以不需要修改~/.vimrc文件。此时,我们已经具有定义跳转的功能了。有两组快捷键是最常用的。
Ctrl-] 跳转到光标所在符号的定义。
Ctrl-t 回到上次跳转前的位置。
更多功能通过命令man ctags或在Vim命令行下运行help ctags查询。2,安装使用Taglist
Taglist是vim的一个插件,提供源代码符号的结构化视图。打开配置文件usr/share/vim/vimrc ,加入以下两行:
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
到此安装已经完成。
在Vim命令行下运行TlistToggle命令就可以打开Taglist窗口,再次运行TlistToggle则关闭。
我们可以通过Ctrl-w快捷键或鼠标点击在Taglist窗口和编辑区之间切换焦点,在Taglist窗口用鼠标或键盘选择某个符号,然后点击或回车,就可以跳转到该符号定义的位置。
更多功能可通过在Vim命令行下运行help taglist.txt查询。
3,安装使用Cscope
Cscope提供交互式查询语言符号功能,如查询哪些地方使用某个变量或调用某个函数。确定Vim已支持Cscope后,将文件http://cscope.sourceforge.net/cscope_maps.vim下载到usr/share/vim/vimrc/plugin目录
到这里,我们就可以开始使用Cscope了。
1)使用Cscope需要生成cscope数据库文件。进入项目代码根目录运行命令:
cscope -Rbq -f path(地址)/xxx.out(名字)
命令运行后会生成xxx.out文件,即cscope数据库文件。更多用法参考man cscope文档。
2)进入项目代码根目录,在Vim下运行命令:cs add path/xxx.out
此命令将cscope数据库载入Vim。
3)Cscope常用快捷键
cs s 名称 查找所有当前光标所在符号出现过位置。
cs c 名称 查找所有调用当前光标所在函数的函数。
s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
d: 查找本函数调用的函数
c: 查找调用本函数的函数
t: 查找指定的字符串
e: 查找egrep模式,相当于egrep功能,但查找速度快多了
f: 查找并打开文件,类似vim的find功能
i: 查找包含本文件的文
按下快捷键查找结束后会在编辑区下方出现查找结果的列表,输入结果编号并回车,就能跳转到该查找结果在源代码中的相应位置。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
参考地址:http://blog.csdn.net/bokee/article/details/6633193