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!
- 微信扫码赞助
- 支付宝赞助