Vim C言語系の構文を持つプログラム言語用にVimを最適化する その3

前回行ったJava用の設定を少し変更して、'{'が押されたときの動作を変更した。

動作

1.開き'{'が入力されたら、閉じ'}'を補完する。
2.関数宣言時に開き'{'が入力されたら、閉じ'}' + 自動改行を以下のように補完する

int main ( int argc, char *argv[] ) { と入力すると
    ↓
int main ( int argc, char *argv[] ) {
  ←ここにカーソル
}
.vimrc
"{が入力されたときに改行+閉じ括弧を補完する
function GetBraceForC()
  let line = strpart(getline('.'), 0, col('.') - 1)
  if line =~ ') \=$'
    return "{\n}\<Esc>0bo"
  else
    return "{}\<Left>"
  endif
endfunction
au FileType c,cpp,java,javascript inoremap <expr> { GetBraceForC()