vimからcl.exeを呼び出してcをコンパイル
学校の授業では,windows環境でcをやっていますが、授業で作るプログラムなんてせいぜい数百行です。なので、このときに、vimから :!cl hoge.c なんてできるといいのですが、初期状態だとただのpathの通ってないコマンドプロンプトが起動してコンパイルできないので、今までvisualstudio コマンドプロンプトを立ち上げてからコンパイルしてました。
ですが、昨日なんとなくやってみたら出来たので方法を書いておきます。
具体的には以下の内容をcompile.batとして$VIMに作成。
@echo off call "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat" > nul 2>&1 cl %1 /nologo
それから、_vimrcに以下の内容を追加。
command! Ccompile call s:Ccompile()
function! s:Ccompile()
let name=expand("%:p")
let syntax="compile.bat ".name
let ret=system(syntax)
echo ret
endfunction
augroup MyAutoCmd
autocmd bufnewfile,bufread *.c :noremap <F7> :<C-u>Ccompile<CR>
autocmd bufnewfile,bufread *.c :noremap <F8> :<C-u>! %:r<CR>
augroup END
これで
まぁなんかもっといい方法がある気がしますが、授業には十分でしょう。