商务合作加Q:411239339

vim+ctags+cscope+…

浏览:719次阅读
没有评论

共计 3356 个字符,预计需要花费 9 分钟才能阅读完成。

0x01 时间紧迫,赶紧上车!

CentOS 7 64 位系统, 二话不说,操起键盘就是干!

yum install git -y
mkdir -p ~/.vim/bundle
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

0x02 上配置!

改~/.vimrc 文件

 " ----------------------------- Vundle Start -----------------------------
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'The-NERD-tree'
Bundle 'tamlok/vim-markdown'
Plugin 'jiangmiao/auto-pairs'

Plugin 'Valloric/YouCompleteMe'

call vundle#end()
filetype plugin indent on
" ----------------------------- Vundle End   -----------------------------


syntax on
set hlsearch
colorscheme desert
set nocompatible
set backspace=indent,eol,start
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
set softtabstop=4


let g:AutoPairs = {'(':')', '[':']', '{':'}',"'":"'",'"':'"'}
"let g:AutoPairs['<']='>'
"let b:AutoPairs = g:AutoParis

set viminfo='10,\"100,:20,%,n~/.viminfo 

au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm'\"")|else|exe"norm $"|endif|endif


map <F11> i<C-R>=strftime("Date:%Y-%m-%d %H:%M:%S")<CR><Esc>
"map <F11> <Esc>:DoxAuthor<cr>" 函数加注释快捷键
map <F12> <Esc>:Dox<cr>


func SetComment()
call setline(1,"/**************************************************************")
call append(line("."),   "*     Copyright (C) 2006-".strftime("%Y")."All rights reserved.")
call append(2,"*       @Version: 1.0")
call append(3,"*       @Created:" . strftime("%Y-%m-%d %H:%M"))
call append(4,"*        @Author: guozi - guozi@guoziweb.com")
call append(5,"*   @Description:")
call append(6,"*")
call append(7,"*       @History:")
call append(8,"**************************************************************/")
endfunc
autocmd BufNewFile *.c,*.cpp,*.php exec ":call SetComment()"


"====================Ycm configurations begin============================" 
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples'
let g:ycm_server_python_interpreter='/usr/bin/python2.7'

" 检测文件类型
filetype on
" 针对不同的文件采取不同的缩进方式
filetype indent on
" 允许插件
filetype plugin on
" 启动智能补全
filetype plugin indent on
"自动补全配置" 让 Vim 的补全菜单行为与一般 IDE 一致 (参考 VimTip1228)
set completeopt=longest,menu    
" 离开插入模式后自动关闭预览窗口
autocmd InsertLeave * if pumvisible() == 0|pclose|endif 
" 回车即选中当前项
inoremap <expr> <CR>       pumvisible() ? "\<C-y>" : "\<CR>"    
" 从第 2 个键入字符就开始罗列匹配项
let g:ycm_min_num_of_chars_for_completion=2     
" 禁止缓存匹配项, 每次都重新生成匹配项
let g:ycm_cache_omnifunc=0      
" 语法关键字补全
let g:ycm_seed_identifiers_with_syntax=1        
" 在注释输入中也能补全
let g:ycm_complete_in_comments = 1
" 在字符串输入中也能补全
let g:ycm_complete_in_strings = 1
" 注释和字符串中的文字也会被收入补全
let g:ycm_collect_identifiers_from_comments_and_strings = 0
nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR> 
" 跳转到定义处
inoremap (()<ESC>i
inoremap [[]<ESC>i
inoremap {{}<ESC>i
inoremap < <><ESC>i
set encoding=utf-8
" ======================Ycm configurations end===============================


if has("cscope")    
        set csprg=/usr/bin/cscope    
    "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", ".;")  
        let cscope_pre=matchstr(cscope_file, ".*/")  
        if !empty(cscope_file) && filereadable(cscope_file)  
            exe "cs add" cscope_file cscope_pre  
        endif        
    endif    
endif    

nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>  
nmap <C-@>d :cs find d <C-R>=expand("<cword>")<CR><CR> 
nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>  
nmap <C-@>s :cs find s <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> 

0x03 上插件!

在 vim 命令行模式下输入

:PluginInstall

All done!

正文完
扫码赞助
post-qrcode
 0
果子
版权声明:本站原创文章,由 果子 于2019-05-08发表,共计3356字。
转载说明:除特殊说明外本站文章皆由果较瘦原创发布,转载请注明出处。