打造vim IDE环境,管理大型项目

这里以ubuntu为例, 利用cscope实现文件间的跳转

1、安装cscode:

  sudo apt-get install cscope

2 、生成工程目录下的文件列表:

  find /my/project/dir -name '*.h' >/my/cscope/dir/cscope.files
 find /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








没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试