我想熟悉cscope。所以我读了一个Blog,它给出了一个简单的例子并一步一步地跟着它。
但我未能顺利完成。
当我输入:cs find g InFile_Open
时,它会跳转到另一个预期的文件中,但没有任何显示是意外的。
似乎它创建了一个新文件。
它应该向我展示文件7zFile.c,它保存了该博客所描述的InFile_Open符号的唯一定义。 像这样
当我输入
时,同样的事情发生了:cs find g PrintError
它应该向我显示一个定义列表,并让我选择一个
Cscope tag: PrintError
# line filename / context / line
1 261 C/Util/7z/7zMain.c <<PrintError>>
void PrintError(char *sz)
2 33 C/Util/Lzma/LzmaUtil.c <<PrintError>>
int PrintError(char *buffer, const char *message)
3 86 CPP/7zip/UI/Client7z/Client7z.cpp <<PrintError>>
static void PrintError(const char *message, const FString &name)
4 94 CPP/7zip/UI/Client7z/Client7z.cpp <<PrintError>>
static void PrintError(const AString &s)
Type number and <Enter> (empty cancels):
但是它直接跳到相应的文件中,让我别无选择,只是像上面那样显示。
此外,我点击ctrl + t
返回上一个文件,但是vim给我看了
E73: tag stack empty
我该如何解决这个问题?
P.S。 (cscope版本:15.8b和我对vim的cscope设置)
if has("cscope")
set csprg=/usr/local/bin/cscope
set csto=0
set cscopetag
set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add cscope.out
" else add database pointed to by environment
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set csverb
nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-\>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-\>d :cs find d <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>s :scs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>g :scs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>c :scs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>t :scs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>e :scs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>f :scs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-@>i :scs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-@>d :scs find d <C-R>=expand("<cword>")<CR><CR>
nmap <C-@><C-@>s :vert scs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-@><C-@>g :vert scs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-@><C-@>c :vert scs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-@><C-@>t :vert scs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-@><C-@>e :vert scs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-@><C-@>f :vert scs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-@><C-@>i :vert scs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-@><C-@>d :vert scs find d <C-R>=expand("<cword>")<CR><CR>
endif