Vim c.vim - C/C++-IDEプラグインを使用する

c.vim - C/C++-IDEプラグインの概要
プログラムのコメント, ステートメント, 関数などのテンプレートを挿入してくれるようになるプラグイン。他にもC++用の辞書ファイルがついてきたり、F9キーでコンパイルできるようにしてくれたりするようだ。

インストール
ここからダウンロードして、解凍後、各ディレクトリにコピーすればOK
※ c-supportは$VIM/vimfiles/の直下にコピー
※ 既に同名のファイルがある場合は、上書きせずにバックアップをしておくとよい。

使ってみる1(メニューバーからテンプレートを挿入する)

c.vim - C/C++-IDEプラグインをインストールするとメニューバーに[C/C++]という項目が追加される。
テンプレートを挿入するには、ここから挿入したいテンプレートを選択すればよい。
例えば[C/C++] -> [Idoms] -> [main]を選択すと以下が挿入される。

int
main ( int argc, char *argv[] )
{
  return EXIT_SUCCESS;
}    /* ---------- end of function main ---------- */
使ってみる2(キー入力からテンプレートを挿入する)

キー入力からテンプレートを挿入することもできる。上記のmain関数を挿入したければ、以下のように入力すればよい。

    <Leader>im
キーマップを変更する

キーマップの設定は$VIMRUNTIME/ftplugin/c.vimファイルに記述されている。したがってキーマップを変更するには、上記のファイルを開き、変更してやればよい。

例.main関数のキーマップをimからに変更する
[修正前]

noremap <buffer> <silent> <Leader>im <Esc>:call C_InsertTemplate("idioms.main")<CR>
vnoremap <buffer> <silent> <Leader>im <Esc>:call C_InsertTemplate("idioms.main", "v")<CR>
inoremap <buffer> <silent> <Leader>im <Esc>:call C_InsertTemplate("idioms.main")<CR>


[修正後]

noremap <buffer> <silent> <C-i><C-m> <Esc>:call C_InsertTemplate("idioms.main")<CR>
vnoremap <buffer> <silent> <C-i><C-m> <Esc>:call C_InsertTemplate("idioms.main", "v")<CR>
inoremap <buffer> <silent> <C-i><C-m> <Esc>:call C_InsertTemplate("idioms.main")<CR>
テンプレートをカスタマイズする

テンプレートは$VIM/vimfiles/c-support/templates/内の各ファイルに記述されている。したがってテンプレートを変更するには、上記のファイルを開き、変更してやればよい。

例.main関数のテンプレートを変更する
c.idioms.templateを開いて以下の部分を修正
[修正前]

== idioms.main ==
int
main ( int argc, char *argv[] )
{<CURSOR>
<SPLIT> return EXIT_SUCCESS;
}    /* ---------- end of function main ---------- */


[修正後]

== idioms.main ==
int main ( int argc, char *argv[] ) {
<CURSOR> <SPLIT> return EXIT_SUCCESS;
}

実行すると以下が挿入されるようになる

int main ( int argc, char *argv[] ) {
  return EXIT_SUCCESS;
}