Vimのinsertモードで便利なC++コーディング用キーマップ

autocmd FileType cpp call MyCppMapping()

function! MyCppMapping()
    inoremap <buffer><expr><CR> 
             \ strpart( getline('.'), col('.')-2, 2 ) == "{}" ? 
             \ "\<CR>\<C-o>k\<C-o>$\<CR>" : "\<CR>"
    inoremap <buffer>{  {}<Left>
    inoremap <buffer>(  ()<Left>
    inoremap <buffer>() ()
    inoremap <buffer><> <><Left>
    inoremap <buffer>[  []<Left>
    inoremap <buffer>[] []
    inoremap <buffer>"  ""<Left>
    inoremap <buffer>"" ""
    inoremap <buffer>,  ,<Space>
    inoremap <buffer><C-s> std::
    inoremap <buffer><C-x> boost::
endfunction

だいたいは読んだ通りなので説明することは無いと思います.
inoremapについては

:help inoremap

を参考にしてください.

については

{かーそる}

となっているときにReturnを押すと

{
    かーそる
}

と波括弧を展開してくれるようにするためのキーマップです.
Vimの設定でどうにかなるのかもしれないですが…

また,括弧内にスペースを入れたい人は

inoremap <buffer>( (  )<Left><Left>

としても良いと思います
一部除いてCのコードを書くときにも便利だと思います.

他にもこんなマッピングあるよとかこっちのほうが良いよというのがあればコメントなりTwitterなりで教えていただけると嬉しいです.