VIM配置备份

网上找的,存着防止以后丢失重新配

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>  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值