今日のvim(20150512):vimでc++のコードを書く編 3 括弧の補完

今までのおさらいと目次とテーマ

http://snoopopo.hatenablog.com/entry/2015/04/14/113800

http://snoopopo.hatenablog.com/entry/2015/02/16/105930

今日のテーマ:括弧の補完とインデント

C++に限ったことじゃないですが、括弧の補完の設定をします。

僕の中でeclipsejavaをやってる期間が一番長いので、 eclipseの補完に近づけることを目指します。

目指すところ(eclipseの括弧補完のパクリ)

・{} の括弧

function {

と打ったあとに、改行すると…

function {
    //インデントタブ1つ分(スペース4つ分)のここにカーソル位置
}

・() "" '' の括弧

(

と打った瞬間に

()

が出てほしい。

vimrcに設定

プラグインを使うことをはじめ考えていたのですが、 vimrcの設定で出来るということなのでvimrcでやっていきます。

vimrcに以下の設定をします。gvimのひとは、gvimrcのほうがいいかも。

・{} の括弧

inoremap {<Enter> {}<Left><CR><ESC><S-o>

んーとインデントがうまくいってないので、これだけではeclipseの括弧補完に似た動きにはなりません。 これはもうちょっと引き続きさぐる必要があります。

・() "" '' の括弧

inoremap ( ()<LEFT>
inoremap " ""<LEFT>
inoremap ' ''<LEFT>

これで、( を打つだけで、 () と入力してくれます。

キー割り当て設定の inoremap とか nnoremap

inoremap 入力キー 割り当てコマンド nnoremap 入力キー 割り当てコマンド

inoremap はインサートモードのとき、という意味。 同じように

nnoremap はノーマルモードのとき、という意味になる。