如何为vim配置cscope?

3

我正在尝试使用cscopevim,但是我觉得有点困惑。

假设我有一个项目在/home/user/projects/project_foo/中。如果我直接通过cscope进行搜索,一切都很顺利(我可以找到符号)。但是如果我通过vim搜索,就会出现no cscope connections错误。所以我不明白它是如何工作的。

据我所知,您必须为项目构建数据库,但是当我在项目目录中运行cscope [-R] [-b]时,该目录中没有创建任何文件。那么数据库在哪里创建?每个项目都有单独的数据库还是全局数据库?

每次更改项目符号(例如添加函数)时,我是否需要重新构建数据库?

如何使从项目目录加载的vim使用该项目的数据库?如果存在全局数据库,我可以让vim仅在当前项目中搜索吗?

我找到了一些关于这些内容的零散信息,但对于第一次使用的用户来说,这些都非常令人困惑。如果您能澄清这些问题,那将使其更加清晰,并且我将能够弄清剩下的部分。


我知道我在技术上问了不止一个问题,但归根结底,所有问题都可以归结为标题中的问题,我认为在这种情况下,在此网站上提出3个单独的问题是不合理的。 - bolov
1
您可能想从:h cscope-howtouse和:h cscope-suggestions开始。 - tristan
@tristan 谢谢。正是我需要的。另外,我没有看到 cscope.out 文件被创建。真是太糊涂了。 - bolov
@tristan 我现在感觉好傻,我几乎想要给我的问题投反对票 :)) - bolov
2个回答

5

感谢tristan

:h cscope-howtouse
:h cscope-suggestions 

cscope -b 命令用于创建数据库 cscope.out
:cs add cscope.out 命令用于添加该数据库。


1
如果您想要找到特定的函数,是的,需要重建数据库。您仍然可以在不重建数据库的情况下进行,但如果您添加了代码行(例如),cscope将指向其在创建数据库时文件中的符号的原始位置。
您可以通过更改vimrc脚本来实现vim(从项目目录加载)使用该项目的数据库。Autoloading cscope database教程是您可以配置的好例子。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接