【问题标题】:cscope: ctrl + ']' does not workcscope: ctrl + ']' 不起作用
【发布时间】:2015-05-06 21:19:13
【问题描述】:

我刚刚安装了cscope-15.8b,然后进入linux-next文件夹,运行“cscope -R”,构建完标签,然后通过“Find this file”打开一个文件 //到目前为止一切顺利。

现在,如果我想通过 ctrl + ] 转到符号的定义,它会抛出错误:“E433: No tags file” “E426: tag not找到”。

如果我打开 cscope.out 文件,我会看到它看起来像坏了(见下文)。如何解决这个问题?

1 ^B ~

2 ^B ~

3 ^B ~

【问题讨论】:

    标签: linux cscope


    【解决方案1】:

    cscope.out 文件看起来“损坏”是正常的,文件格式是一种文本,但也包含一些非打印字符。

    您的问题是 ctrl + ] 默认情况下不搜索 cscope 数据库,它只搜索完全不同的 ctags 文件。您需要在 .vimrc 文件中添加 set cscopetag 以使其同时搜索两者。来自 vim 帮助:

    如果设置了 'cscopetag',命令 ":tag" 和 CTRL-] 以及 "vim -t" 将始终使用 :cstag 而不是默认的 :tag 行为。有效地, 通过设置“cst”,您将始终搜索您的 cscope 数据库以及 你的标签文件。默认为关闭。

    【讨论】:

    • 这意味着要么你选择了一个不在 cscope 数据库中的符号,要么 vim 没有选择正确的符号。无论哪种方式,它现在至少在 cscope 数据库中查找
    【解决方案2】:

    将这些行添加到您的 ~/.vimrc 文件中:

    set cscopetag
    set csto=0
    set tags=./tags,tags;/
    cs add cscope.out
    

    更好的是,将整个文件复制到 ~/.vimrc 文件中:http://cscope.sourceforge.net/cscope_maps.vim

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-29
      相关资源
      最近更新 更多