这里以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