Vim で閉じ括弧を自動補完するようにした

()の閉じ括弧などを自動的に閉じる - bless {category => 'vim'}, shift - vimグループ」経由「gist: 269208 - GitHub」の設定を頂き、プログラムの入力などで便利なように、() {} [] の後ろの括弧を自動的に補完するようにした。

元々の設定は、<> も補完するようになっていたが、「Vim で XML/HTML の閉じタグを自動入力するようにした - LazyLoadLife」が効かなくなるので、<> 補完については省いた。

~/.vimrc に以下を追記:

inoremap ( ()<ESC>i
inoremap <expr> ) ClosePair(')')
inoremap { {}<ESC>i
inoremap <expr> } ClosePair('}')
inoremap [ []<ESC>i
inoremap <expr> ] ClosePair(']')
" pair close checker.
" from othree vimrc ( http://github.com/othree/rc/blob/master/osx/.vimrc )
function ClosePair(char)
    if getline('.')[col('.') - 1] == a:char
        return "\<Right>"
    else
        return a:char
    endif
endf