C++ で末尾に自動で ; をつけるような Vim script 書いてみた

最初は lexima.vim で設定してみたんですが、うまくいかなかったので雑スクリプト書いた。
とりあえず、insert mode を抜けた時に発動するようにしています。

augroup cpp-auto;
    autocmd!
   " 末尾が " ' ) の場合に ; を追加する
    autocmd InsertLeave *
\   if &filetype == "cpp" && getline(".") =~ '["'')]$'
\|      call setline(".", getline(".") . ";")
\|  end
augroup END

誤爆しないように簡単な判定にしていますが、そこそこ便利。
慣れてきたらもうちょい高度にしてみたい。