1.ctags的使用
cd ~/workspace/Source_Insight/linux-2.6.27.39
ctags -R
gvim /drivers/serial/8250.c
gvim命令行中输入:
:set tags=/home/luzhonghui/workspace/Source_Insight/linux-2.6.27.39/tags
该命令将tags文件加入到vim中来
将光标定位到8250.c中的任意一个函数,如map_8250_in_reg( )上,按下ctrl+],此时光标会自动跳到该函数的定义处;
按下ctrl+T,跳回到刚才的函数;
变量, 结构, 宏, 等等, 都可以的;
不过还有一个小瑕疵, 你修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild, 你必须手动再运行一下命令:ctags -R
使tags文件更新一下, 不过让人感到欣慰的是vim不用重新启动, 正在编写的程序也不用退出, 马上就可以又正确使用<C-]>和<C-T>了。
2.Taglist
TagList最基本也是最常用的操作:
将光标定位到左边Tag List窗口中的的某一个结构体、变量或者函数上,按下Enter,会自动跳转到其定义处;
如果还不想让源码跳转,但是想看看该tag在源码中完整的表达,可以将光标移到你想要看的tag上,然后按下空格键,在下面的命令栏中,会显示该tag在源码中完整的写法, 而不会跳转到源码处;
通过WinManager插件来将TagList窗口和netrw窗口整合起来
netrw窗口:当光标停在某个文件或文件夹的时候, 按下回车, 可以打开该文件或文件夹;
打开~/vim71/src/main.c, 在normal状态下输入"wm"
其中左上边是netrw窗口, 左下边是TagList窗口, 当再次输入"wm"命令时(注意:还是要在normal状态下)这两个窗口又关闭了;
4.cscope的使用
cscope -Rbq
此时,会生成三个文件:cscope.po.out,cscope.in.out,cscope.out
进入vim后第一件事是要把刚才生成的cscope文件导入到vim中来, 用下面的命令:
:cs add /hom
补充:
ctrl+t,如果找到两个struct,命令行下输入:tselect
本文介绍了如何利用Vim中的ctags、Taglist、Winmanager及cscope等插件提高编程效率。通过这些工具,开发者可以快速查找代码中的定义、浏览项目结构并进行高效的代码导航。
297

被折叠的 条评论
为什么被折叠?



