15

我已经安装了 opensuse 11.4。Vim 是第 7 版。现在我通常用它来浏览 linux 内核源代码。所以我在我的主文件夹内的一个目录中生成了cscope数据库,即/home/aijazbaig1/cscope_DB/,我得到了3个文件。cscope.out、cscope.po.out 和 cscope.in.out 除了包含我要搜索的所有相关文件列表的 cscope.files 文件之外。

此外,我在我的 .bashrc 中添加了以下内容:

CSCOPE_DB=/home/aijazbaig1/cscope_DB/cscope.out
export CSCOPE_DB

但是当我:cscope show从 vim 中执行操作时,它说没有连接。谁能让我知道出了什么问题。

渴望听到你的消息,

4

6 回答 6

17

上面的评论中提到了这一点,但我想确保它保留在答案中。

我遇到的问题是 vim 不知道在哪里寻找 cscope 数据库。当我添加

cs add $CSCOPE_DB

到我的.vimrc. 一切都很好。

于 2015-04-08T16:55:17.367 回答
12

我想既然我已经访问过,我会尝试回应。

使用 ctrl-space 搜索(或任何相关搜索)时出现此错误:

E567: 没有 cscope 连接

我终于在http://cscope.sourceforge.net/cscope_vim_tutorial.html第 11 步找到了完整的解决方案。

这个想法是您创建要包含在 cscope 视图中的源文件列表,在同一位置生成 cscope.out,并相应地更新导出路径:

  • find /my/project/dir -name '*.c' -o -name '*.h' > /foo/cscope.files
  • cscope -R -b(这可能需要一段时间,具体取决于您的来源的大小)
  • export CSCOPE_DB=/foo/cscope.out(如果您不想每次登录终端时都重复此操作,请将其放在您的 .bashrc/.zshrc/other-starting-script 中)
于 2012-11-06T18:18:05.240 回答
2

你需要添加一个“cscope 连接”,就像在 vim 中这样:

:cscope add $PATH_TO_CSCOPE.out 

有关:help cs更多示例,请参阅。

于 2017-11-13T07:43:11.127 回答
2

以下是我如何使用 cscope 探索 linux 内核源代码:

我使用 vim 作为我的编辑器。

  1. 站在内核源代码根目录中,cscope以交互模式运行,同时在搜索源文件期间递归地遍历子目录:

cscope -R

第一次运行时,会cscope.out在当前目录下生成名为:的数据库文件。任何后续运行都将使用已生成的数据库。

  1. 搜索任何内容或任何文件并打开它。
  2. 在 vim 中设置 cscope 标签,使:tagandCTRL-]命令先搜索 cscope,然后搜索 ctags 的标签:

:set cscopetag

  1. 在当前 VIM 会话中设置 cscope 数据库:

:cs add cscope.out

现在您可以像在 ctags 中那样使用CTRL-]and进行导航了!CTRL-t:)

于 2018-03-09T13:30:25.023 回答
0

我在 ubuntu 18.04 上遇到了类似的问题,没有 cscope 连接,然后我发现我的 .vimrc 文件没有加载 CSCOPE_DB 变量。看了一圈,找到了解决办法

您可以直接将其复制到您的 .vimrc 文件中。

部分代码从您的目录加载您的 cscope 文件。按键绑定只是一个不错的奖励。希望这可以帮助。

于 2018-11-02T09:28:59.867 回答
0

我的电脑上也有同样的问题。现在,要解决这个问题:

  1. 在终端执行:which is cscope

  2. 打开 .vimrc 文件进行编辑:set csprg=/usr/bin/cscope

于 2017-03-07T08:26:33.093 回答