【问题标题】:vim cannot connect to cscope databasevim 无法连接到 cscope 数据库
【发布时间】:2011-09-20 23:19:19
【问题描述】:

我已经安装了 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

但是当我在 vim 中执行 :cscope show 时,它说没有连接。谁能告诉我出了什么问题。

渴望收到您的来信,

【问题讨论】:

  • 许多问题都可能导致此问题 - 请参阅此网站寻求帮助:vim.wikia.com/wiki/Cscope
  • 是的,我确实尝试了这里提到的内容:stackoverflow.com/questions/563616/… 所以我确实在“if has ('cscope') 块中添加了“cs add $CSCOPE_DB”行。现在它似乎正在工作,但我仍然不能使用 ctrl+'\'+s 和此类命令直接查找我的光标所在的工作。我想可能我必须下载 cscope_maps.vim 文件并将其放在我的 .vim/plugin/ 目录中,不是吗?但是该死的它是一个虚拟机,文件共享不起作用:(。无论如何,这是另一个部分的主题
  • 是的,通过将 cscope_maps.vim 文件的数据粘贴到我的 .vimrc 中,我能够使这些按键正常工作。
  • 好你想通了。您可能想回答自己的问题并将其标记为已回答,这样它就不会显示为未回答的问题。

标签: database vim tags ctags cscope


【解决方案1】:

我在 ubuntu 18.04 上遇到了类似的问题,没有 cscope 连接,然后我发现我的 .vimrc 文件没有加载 CSCOPE_DB 变量。环顾四周,找到了solution

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

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

【讨论】:

    【解决方案2】:

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

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

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

    cscope -R

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

    1. 搜索任何内容或任何文件并将其打开。
    2. 在vim中设置cscope标签,让:tagCTRL-]命令先搜索cscope,再搜索ctags的标签:

    :set cscopetag

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

    :cs add cscope.out

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

    【讨论】:

      【解决方案3】:

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

      :cscope add $PATH_TO_CSCOPE.out 
      

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

      【讨论】:

        【解决方案4】:

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

        1. 在终端执行:which is cscope

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

        【讨论】:

          【解决方案5】:

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

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

          cs add $CSCOPE_DB
          

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

          【讨论】:

          • 这也帮助我在我的 ubuntu 上使用
          【解决方案6】:

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

          我在使用 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 中)

          【讨论】:

            猜你喜欢
            • 2011-02-14
            • 2011-06-16
            • 1970-01-01
            • 2012-10-29
            • 2013-11-19
            • 2018-08-03
            相关资源
            最近更新 更多