问题
I want to auto load my cscope.out
in the subdirectory of my project, so I add this scripts in my .vimrc
, which is as follows:
set cscopequickfix=s-,c-,d-,i-,t-,e-
if has("cscope")
set csprg=/usr/bin/cscope
set csto=1
set cst
set csverb
set cspc=3
"add any database in current dir
if filereadable("cscope.out")
cs add cscope.out
"else search cscope.out elsewhere
else
let cscope_file=findfile("cscope.out", ".;")
"echo cscope_file
if !empty(cscope_file) && filereadable(cscope_file)
exe "cs add" cscope_file
endif
endif
endif
it works at first. But every time when I trying to do:
:cs find c [tag]
The search result will appear in the QuickFix List, but the file which contains the result can not be opened.
Any advice would be appreciated.
回答1:
If you add a cscope.out
make sure it to set the correct path prefix. Otherwise it will show you the result but cannot load the file.
example:
cs add ../cscope.out ../
so you should change your script to
...
else
let cscope_file=findfile("cscope.out", ".;")
let cscope_pre=matchstr(cscope_file, ".*/")
"echo cscope_file
if !empty(cscope_file) && filereadable(cscope_file)
exe "cs add" cscope_file cscope_pre
endif
...
来源:https://stackoverflow.com/questions/12243233/how-to-auto-load-cscope-out-in-vim