我正在使用Vim来开发一个C项目,而且我一直在花费大量的时间浏览现有的代码来暂停它。为了使浏览更容易,我已经在Vim中设置ctags和cscope来跳转到定义并查找引用。
然而,我发现他们都不聪明,不知道一个成员变量/函数属于哪个类。例如:
class Square; ... Square a; ... a.rotate();
试图找到rotate()的定义也会引起其他类的成员函数,比如Triangle。我在Vim中使用g]来列出匹配的标签列表,幸运的是,ctags列出了每个条目的关联类。然而,当有200个具有相同成员功能的类时,可能会厌倦了追查正确的标签。
另外,如果我在一个函数定义:
Square::rotate() { ... }
尝试使用cscope查找对rotate()的所有调用,调用Triangle和其他类的旋转函数。
因此,我发现自己跳到Visual Slickedit,然后找到定义或引用成员函数或成员变量。有什么办法可以在好的老VIM中完成这个吗?