vimでmakeするときに現在のソースだけコンパイルする

ふつうに「:make」とするとすごく時間がかかってしまうけど、じつは今さわってるソースの構文チェックだけしときたいだけなのにー、というときにそのソースだけをコンパイルする設定。

※2008/09/13 id:ka-nacht さんにご教授いただいた内容で更新
記事を書いた日にコメントいただいていたのに今になってやっと気づくとは・・・

function! CompileOneSource() range
let obj = "%:r" . ".o"
execute ":make " . obj
endfunction
command! BrewCompile :call CompileOneSource()

command! BrewCompile make %<.o

noremap  <M-c><M-o> <Esc>:w<CR>:BrewCompile<CR>
noremap! <M-c><M-o> <Esc>:w<CR>:BrewCompile<CR>

BrewCompileとしてますが、別にBREWじゃなくてもC++なら同じはず。
ただ単純に、現在さわっているバッファ名の拡張子を「.o」としてmakeコマンドの引数に渡しているだけです。
そのままQuickFixも適用されるのでいい感じです。
ぼくは、Alt+C, Alt+O にこれを割り当ててみました。