如何让cscope在cscope.out文件中使用绝对路径?

Hai*_*ang 10 vim cscope

每次在Vim中加载cscope.out后,我都需要将Vim的"pwd"更改为与cscope.out文件相同的目录,这可能是由于cscope在生成标记文件时使用相对路径.因此,如果有办法强制cscope在其标记文件中使用绝对路径 - cscope.out,那么无论您的Vim会话的pwd是否与cscope.out文件所在的目录相同,它都将是.

Aar*_* H. 12

导入cscope.out时,可以提供前缀,即

:cscope add /path/to/cscope.out /path/to/src/code
Run Code Online (Sandbox Code Playgroud)

那么你的搜索结果就像:

Cscope Tag: foobar
    #   line  filename / context / line
    1     21 /path/to/src/code/foobar_file.c
Run Code Online (Sandbox Code Playgroud)


Neh*_*kar 12

您可以通过设置选项让vim解释cscope.out中对于cscope.out文件位置的路径cscoperelative.来自:help csre:

如果设置了'cscoperelative',那么在没有给cscope的前缀(前缀是cscope的-P选项的参数)的情况下,cscope.out位置的basename(通常是项目根目录)将被用作构造的前缀一条绝对的道路.默认为关闭.注意:此选项仅在初始化cscope(cscopeprg)时没有前缀路径(-P)时有效.

例子

:set csre
:set nocsre

  • 这应该是公认的答案,因为从vim + cscope的角度来看,这是迄今为止最简单的解决方案.谢谢您的回答! (5认同)