set nu
syntax on
" 补全括号
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {<CR>}<ESC>O
set autowrite "在切换buffer时自动保存当前文件"
set showmatch "显示匹配的半边括号"
" 以下3行设置tab长度"
set tabstop=4
set softtabstop=4
set cindent
set shiftwidth=4
set ruler "显示状态栏标尺"
set colorcolumn=90
set cursorline "突出当前行"
set selection=exclusive
set selectmode=mouse,key
set wildmenu "增强模式中的命令行自动完成操作
set linespace=2 "字符间插入的像素行数目
set whichwrap=b,s,<,>,[,] "开启normal 或visual模式下的backspace键空格键,左右方向键,insert或replace模式下的左方向键,右方向键的跳行功能
"设置跳出自动补全的括号
func SkipPair()
if getline('.')[col('.') - 1] == ')' || getline('.')[col('.') - 1] == ']' || getline('.')[col('.') - 1] == '"' || getline('.')[col('.') - 1] == "'" || getline('.')[col('.') - 1] == '}'
return "\<ESC>la"
else
return "\t"
endif
endfunc
" 将tab键绑定为跳出括号
inoremap <TAB> <c-r>=SkipPair()<CR>
通过以上设置,基本的C/C++开发环境有了
另外,针对不同文件类型,可以有不同的设置,比如说,对于java和c的设置会存在一些差别:
autocmd FileType java source ~/.vim/java.vim
autocmd FileType c source ~/.vim/c.vim
autocmd FileType cpp source ~/.vim/cpp.vim
autocmd FileType py source ~/.vim/py.vim
以上写入.vimrc,再把相应的各语言的.vim文件放到以上的目录中,即可使用。如果不能确定文件类型,用vim打开相关文件,:echo &filetype查看文件类型。