网上找的,存着防止以后丢失重新配
set nocp
syntax on "语法高亮"
set nocompatible "使用vim的键盘模式"
set nu "设置行号"
set nobackup "不需要备份"
set confirm "未保存或者只读时,弹出确认"
set mouse=a "鼠标可用"
set selection=exclusive
set selectmode=mouse,key
set showcmd "显示未完成命令"
set tabstop=4 "tab为4个空格"
set shiftwidth=4 "行交错"
set cindent "c文件类型自动缩进"
set autoindent "自动对齐"
set smartindent "智能缩进"
set hlsearch "高亮查找匹配"
set background=dark "背景色"
set showmatch "显示匹配"
set ruler "右下角显示光标位置"
set fillchars=vert:\ ,stl:\ ,stlnc:\ "被分割的窗口之间显示空白"
set noerrorbells "不发出警告声"
set foldenable
set foldmethod=syntax
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
filetype plugin indent on
set fileencodings=gbk,utf-8,gb2312,gb18030,cp936
set termencoding=gbk,utf-8,gb2312,gb18030,cp936
"预生成文件头"
fun! LoadSkeleton()
let file = $HOME . "/.vim/skeleton"
if filereadable(file)
exe "0read " . file
exe "normal! G"
endif
exe "call CreateTime()"
exe "normal! G"
endfun
"生成时间"
fun! CreateTime()
if line("$") > 20
let l = 20
else
let l = line("$")
endif
exe "1," . l . "s/date: .*/date: " . strftime("%Y %b %d %X") . "/e"
endfun
function AddTitle()
call append(0,"/*=============================================================================")
call append(1,"#")
call append(2,"# Author: LuoXin - z309241990@vip.qq.com")
call append(3,"#")
call append(4,"# QQ : 309241990")
call append(5,"#")
call append(6,"# Last modified: ".strftime("%Y-%m-%d %H:%M"))
call append(7,"#")
call append(8,"# Filename: ".expand("%:t"))
call append(9,"#")
call append(10,"# Description: ")
call append(11,"#")
call append(12,"=============================================================================*/")
echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endfunc
"更新最近修改时间和文件名
function UpdateTitle()
normal m'
execute '/# *Last modified:/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M")@'
normal ''
normal mk
execute '/# *Filename:/s@:.*$@\=":\t\t".expand("%:t")@'
execute "noh"
normal 'k
echohl WarningMsg | echo "Successful in
updating the copy right." | echohl None
endfunction
"判断前10行代码里面,是否有Last modified这个单词,
""如果没有的话,代表没有添加过作者信息,需要新添加;
"如果有的话,那么只需要更新即可
function TitleDet()
let n=1
"默认为添加
while n < 10
let line = getline(n)
if line =~ '^\#\s*\S*Last\smodified:\S*.*$'
call UpdateTitle()
return
endif
let n = n+1
endwhile
call AddTitle()
endfunction
"设置预加载文件头的文件类型"
au BufNewFile *.c call TitleDet()
au BufNewFile *.h call TitleDet()
au BufNewFile *.cpp call TitleDet()
au BufNewFile *.sh call TitleDet()
"自动补全"
inoremap " ""<esc>:let leavechar="\"""<cr>i
inoremap [ []<esc>:let leavechar="]"<cr>i
inoremap ( ()<esc>:let leavechar=")"<cr>i
inoremap { {}<esc>:let leavechar="}"<cr>i
" 编辑模式快捷键
" 在编辑模式下,方向键的绑定,参照终端的模式
imap <C-b> <left>
imap <C-f> <right>
imap <C-w> <esc>dbs
imap <C-h> <esc>s
imap <C-d> <del>
imap <C-a> <esc>I
imap <C-e> <esc>A
nnoremap <F2> :sil !find -maxdepth 1 -name '*.[ch]' -print0 -o
\ -name '*.cpp' -print0 \| xargs -0 ctags --c++-kinds=+p --fields=+iaS --extra=+q <cr>
nnoremap <F3> :sil !find -maxdepth 1 -name '*.[ch]' -print0 -o
\ -name '*.c' -print0 \| xargs -0 ctags --c++-kinds=+p --fields=+iaS --extra=+q <cr>
nnoremap <F4> :sil !find -maxdepth 1 -name '*.[ch]' -print0 -o
\ -name '*.h' -print0 \| xargs -0 ctags --c++-kinds=+p --fields=+iaS --extra=+q <cr>
colorscheme evening
hi Normal ctermfg=grey ctermbg=black
hi Visual ctermfg=green ctermbg=black
hi Search term=reverse cterm=standout ctermfg=green ctermbg=yellow
hi IncSearch term=reverse cterm=standout ctermfg=green ctermbg=yellow
hi PmenuSel ctermbg=Green ctermfg=Yellow
hi SpellBad ctermfg=white ctermbg=darkred
hi SpellLocal ctermfg=black ctermbg=darkgreen
hi Comment cterm=bold ctermfg=cyan
hi perlComment cterm=bold ctermfg=magenta
hi perlString cterm=bold ctermfg=darkred
hi StatusLine cterm=bold ctermfg=237 ctermbg=233
hi StatusLineNC ctermfg=236 ctermbg=232
hi VertSplit ctermfg=236
hi String ctermfg=magenta
" Pmenu* config the color scheme of the popup menu when doing
" " keyword completion
hi Pmenu ctermbg=darkmagenta
hi PmenuSel ctermbg=yellow ctermfg=darkmagenta cterm=bold
hi LineNr ctermfg=darkgreen
hi TabLine ctermbg=236
hi TabLineFill term=bold cterm=bold ctermbg=236 ctermfg=236
hi Visual ctermbg=232""
nnoremap <F5> :NERDTree <cr>