Chinaunix首页 | 论坛 | 博客
  • 博客访问: 69830
  • 博文数量: 20
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 402
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-08 17:53
文章分类

全部博文(20)

文章存档

2010年(6)

2009年(2)

2008年(8)

2006年(4)

我的朋友
最近访客

分类: C/C++

2006-10-08 18:04:35

在c++开发中使用vim和ctags
译自:

如果你所有的源代码都在一个文件夹树内,那么可以简单的运行这个命令:
ctags --recurse --language-force=c++ --extra=+q --fields=+i *.cpp *.h
然后你就可以用多种方式穿梭于源代码中。在下面THE_TAG用于代表你要跳转的东西。
1.当光标在THE_TAG上的时候按 "g ctrl+]"
2.":ts THE_TAG" 或 ":tselect THE_TAG"
3.":sts THE_TAG"
4.当光标在THE_TAG上的时候按 "ctrl+]"
5.":ta THE_TAG" 或 ":tag THE_TAG"
6.":sta THE_TAG"
7."ctrl+t" 将让你回到跳转前的地方。

第1,2,3条会让你在一些tags里选择.
第4,5,6条会直接把你代到第一个可能的tag,
第1,4条在vim普通模式下使用.
第2,5条是在命令模式下使用.
第3,6条跟第2,5条一样,只是会打开一个新窗口显示跳转的内容.

这个命令可以解决找不到tag文件的问题:
set tags=/path/tags



global的使用方法

global与ctags一样,也是一个通过分析源代码来方便开发的工具.但是相比c
tags,global功能更强,更适合大型项目(只是c?).
global的常用功能有:
  1. 找到一个函数的定义,这个和ctags一样.
  2. 找到一个函数被使用的地方.(reference)
  3. 找到每个符号(除了函数名以外的标识符)出现的地方.
  4. 列出一个文件中的所有标签.
global可以单独作为一个命令使用,也可以和vim,emacs整合,由于我使用vim,就介绍一下vim里使用global的方法吧:
先安装global插件,在vim.org上搜索gtags脚本.下载后放到 ~/.vim/plugin/ 里.
然后cd到项目的根目录,运行:gtags,生成包含源代码信息的数据库.
用vim打开一个文件,光标移动到要查找的标识符.
:Gtags 查找函数的定义
:Gtags -r 查找函数被使用的地方
:Gtags -s 查找标识符被引用的地方
:Gtags -f 列出当前文件里的所有标签
这样global会在vim里打开一个叫quickfix的窗口,每一行列出查找到的条目.可以使用下列命令进行跳转:
:cn 下一个条目
:cp 上一个条目
:ccN 跳到第N个条目.
:cl 列出所有条目
也可以用鼠标双击,更方便!
基本功能就这么多,也基本上够用了.顺便再推荐一个vim的老牌插件:TagList 呵呵
btw:好像global对c++支持不够好,虽然它的主页上说支持c++.比如:不能区别成员函数所属的类,等等.
阅读(1982) | 评论(0) | 转发(1) |
0

上一篇:没有了

下一篇:在linux下玩游戏

给主人留下些什么吧!~~