vim的简单配置

    刚新装了系统,不过忘记备份之前的.vimrc了,为此重新配置了下,特发此博客,为新手作下指导。

    我想大多数人都是用vim来编程的,当然它只是个编辑器。我们可能会希望vim具有很多IDE具有的方便功能,比如代码补全,括号引号补全,自动缩进等,这些完全不是问题,因为vim不仅仅是一个编辑器!

    下面是我的.vimrc文件,我将以注释的形式来做简单介绍。


"设置gvim不再兼容vi的按键配置
set nocompatible

"开启文件类型识别
filetype on

"选择lucius配色方案,之前的candy配色不知道为什么不能用了
"只能推而求其次选择lucius,大家根据自己的喜好选择吧
colorscheme lucius
"这个是lucius的配色选择,lucius有light和black两种模式
LuciusBlack

"关闭图标栏
set guioptions-=T

"clang++自动编译函数,大家如果使用的是g++,直接将clang++替换即可
map<F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
	exec "w"
	exec "!clang++ -std=c++11 % -o %<"
	exec "!./%<"
endfunc

"显示行号
set number

"不自动备份,去掉讨厌的~文件
set nobackup

"符号匹配模式开启
set showmatch
"格式选项
set formatoptions=tcrqn
"开启自动缩进
set autoindent
set smartindent
set cindent
"设置缩进为4个空格
set tabstop=4
set softtabstop=4
set shiftwidth=4

"括号自动补全
inoremap ( ()<Esc>i
inoremap [ []<Esc>i
inoremap { {<CR>}<Esc>O
autocmd Syntax html,vim inoremap < <lt>><Esc>i| inoremap > <c-r>=ClosePair('>')<CR>
inoremap ) <c-r>=ClosePair(')')<CR>
inoremap ] <c-r>=ClosePair(']')<CR>
inoremap } <c-r>=CloseBracket()<CR>
inoremap " <c-r>=QuoteDelim('"')<CR>
inoremap ' <c-r>=QuoteDelim("'")<CR>

function ClosePair(char)
	if getline('.')[col('.') - 1] == a:char
		return "\<Right>"
	else
		return a:char
	endif
endf

function CloseBracket()
	if match(getline(line('.') + 1), '\s*}') < 0
		return "\<CR>}"
	else
		return "\<Esc>j0f}a"
	endif
endf

function QuoteDelim(char)
	let line = getline('.')
	let col = col('.')
	if line[col - 2] == "\\"
		return a:char
	elseif line[col - 1] == a:char
		return "\<Right>"
	else
		return a:char.a:char."\<Esc>i"
	endif
endf

"neocolmplcache是一个代码提醒插件,这个大家自己去vim网站上下载,十分好用
let g:neocomplcache_enable_at_startup=1


你可能感兴趣的:(linux,vim)