这里以ubuntu为例, 利用cscope实现文件间的跳转
1、安装cscode:
sudo apt-get install cscope
2 、生成工程目录下的文件列表:
find /my/project/dir -name '*.h' >/my/cscope/dir/cscope.filesfind /my/project/dir -name '*.c' >>/my/cscope/dir/cscope.files
3、 在当前工程目录下执行 cscope -b -q -k 生成 cscope Database
4、快捷建设置:
mkdir ~/.vim/plugin -p
将cscope_maps.vim(http://cscope.sourceforge.net/cscope_maps.vim)的文件放在plugin底下:
5、完成
6、.vimrc
设置成
set cindent
syntax on
set autoindent
set shiftwidth=4
set smarttab
set smartindent
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
set nu
if &term=="xterm"
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif
if has("cscope")
set cscopetag
set csto=0
if filereadable("/home/paul08colin/cscope/cscope.out")
cs add /home/paul08colin/cscope/cscope.out
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set cscopeverbose
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
7、可以设置一个脚本:
#!/bin/sh
find /home/paul08colin/richman/server /tool/ -name "*.h" -o -name "*.cpp" -o -name "*.c" -o -name '*.pb.h' -o -name '*.pb.cc' -o -na
me '*.cc' -o -name '*.proto' > cscope.files
cscope -bkq -i cscope.files
ctags -R