VimからPHPUnitを実行する
必要なもの
quickrun
vimproc
quickrunのインストール
.vimrcに
Bundle 'git://github.com/thinca/vim-quickrun' Bundle 'git://github.com/karakaram/vim-quickrun-phpunit'
を追加し、
:BundleInstall
するだけ。
vimprocのインストール
.vimrcに
Bundle 'git://github.com/Shougo/vimproc'
を追加し、
:BundleInstall
続いてコンパイルを行う。
$ cd $HOME/.vim/bundle/vimproc/ $ make -f make_unix.mak .vim/bundle/vimproc/autoload/ の下に vimproc_unix.so ができていればOK $ ls -la $HOME/.vim/bundle/vimproc/autoload/vimproc_unix.so -rwxr-xr-x. 1 keynodes wheel 19354 8月 25 01:24 2012 /home/keynodes/.vim/bundle/vimproc/autoload/vimproc_unix.so
quickrunの設定
ここからが本題
$ vim $HOME/.vim/userautoload/quickrun.vim
http://www.karakaram.com/vim/quickrun-phpunit/を参考に、コメントを適度に追加
"-------------------------------------------------- " コマンドのグループ化 "-------------------------------------------------- augroup QuickRunPHPUnit " グループのコマンドを初期化 autocmd! " BufWinEnter バッファがウィンドウに表示された後 " BufNewFile 存在しないファイルの編集を開始する " => *Test.php 新規/編集で開いた時、filetype を phpunit にセットする autocmd BufWinEnter,BufNewFile *Test.php set filetype=phpunit augroup END "-------------------------------------------------- " quickrun設定 "-------------------------------------------------- let g:quickrun_config = {} let g:quickrun_config['_'] = {} " runnerにvimprocを設定。phpunitの実行中にVimがフリーズしなくなる let g:quickrun_config['_']['runner'] = 'vimproc' let g:quickrun_config['_']['runner/vimproc/updatetime'] = 100 "-------------------------------------------------- " filetype:phpunit の時の設定 "-------------------------------------------------- "-------------------------------------------------- " 通常の表示(横分割して結果表示) "let g:quickrun_config['phpunit'] = {} "let g:quickrun_config['phpunit']['outputter/buffer/split'] = 'vertical 35' "let g:quickrun_config['phpunit']['command'] = 'phpunit' "let g:quickrun_config['phpunit']['cmdopt'] = '' "let g:quickrun_config['phpunit']['exec'] = '%c %o %s' "-------------------------------------------------- "-------------------------------------------------- " ステータスラインの下に結果を表示 let g:quickrun_config['phpunit'] = {} let g:quickrun_config['phpunit']['outputter'] = 'phpunit' let g:quickrun_config['phpunit']['command'] = 'phpunit' let g:quickrun_config['phpunit']['exec'] = '%c %o %s' let g:quickrun_config['phpunit']['outputter/phpunit/height'] = 3 let g:quickrun_config['phpunit']['outputter/phpunit/running_mark'] = 'running...' let g:quickrun_config['phpunit']['outputter/phpunit/auto_open'] = 0 "--------------------------------------------------
実行
PHPUnitのテストコードをVimで開いている状態で 「\r」でいつでもPHPUnitを実行、結果をステータスラインの下で確認。
エラーが出た場合、:lw (:lwindow)コマンドでロケーションリストを開くことができる。
ハイライトの設定
VimではデフォルトでPHP用のハイライトをしてくれているが、PHPUnitのコードは新たにfiletype:phpunitを設定しているため
PHPのハイライトが適用されない。
ファイルタイプ別のハイライトは
$VIMRUNTIME/syntax/*.vim で定義されていて、
$HOME/.vim/syntax/*.vim でその設定を上書きできる
PHPUnitで使うテストコードもPHPとしてハイライトをしたいので、コピーして使うことにする。
まずは$VIMRUNTIMEの値を確認し
:echo $VIMRUNTIME /usr/share/vim/vim72
コピーする
[root@localhost ]# cp /usr/share/vim/vim72/syntax/php.vim /home/keynodes/.vim/syntax/phpunit.vim