我正在尝试将cscope
与vim
一起使用,我发现事情有点令人困惑。
假设我在/home/user/projects/project_foo/
中有一个项目。如果我直接通过cscope
它一切正常(我可以找到符号)。如果我查看vim
,则会收到no cscope connections
错误。所以我不明白它是如何运作的。
据我所知,你必须为你的项目构建一个数据库,但是当我在项目目录中运行 cscope [-R] [-b]
时,在这个目录中没有创建文件。那么数据库在哪里创建?每个项目或全局数据库都有单独的数据库吗?
每次更改项目符号时是否必须重建数据库(例如添加函数)?
如何使vim
(从项目目录加载)使用该项目的数据库。如果有全局数据库,我可以仅在当前项目中进行vim
搜索吗?
我发现了一些有关此事的零星信息,但对于初次使用的用户来说,这一切都非常混乱。如果你能澄清这些事情,它会更清楚,我能够弄清楚其余的事情。
答案 0 :(得分:4)
感谢tristan:
:h cscope-howtouse
:h cscope-suggestions
cscope -b
创建数据库cscope.out
:cs add cscope.out
添加了数据库。
答案 1 :(得分:1)
每次更改项目符号时是否必须重建数据库(例如添加函数)?
如果您希望能够找到该特定功能,是的。您仍然可以在不重建数据库的情况下进行操作,但如果要添加代码行(例如),则cscope会指向创建数据库时文件中的符号的原始位置。
如何使vim(从项目目录加载)使用该项目的数据库。如果有全局数据库,我可以只在当前项目中进行vim搜索吗?
您可以通过更改vimrc脚本来完成此操作。 Autoloading cscope database教程是您可以配置的一个很好的示例。