2011-09-01 14 views

答えて

43

vimでシェルコマンドを実行できます。これは、シェルからphp -l filename.phpを呼び出すのと同じです:

map <F5> :!php -l %<CR> 
+5

これは保存されたファイルを検証するので、保存していない変更がある場合は表示されません。 – Useless

+0

マッピングのために別のキーを使用できますか?CTRL + P? – Tech4Wilco

+1

@ジミー、私は 'map :!php -l%'のようなものになると思います。 – gpojd

5

は、それはとても良いことだhttp://www.vim.org/scripts/script.php?script_id=2736をお試しください:私はF5キーを押す必要があるように

:!php -l % 

私は、この私の~/.vim/after/ftplugin/php.vimファイルにマッピングされています。以下のPHP固有の設定と

+0

ありがとう私は一見を受けるだろう – Tech4Wilco

+0

は私に複雑に見える – Tech4Wilco

+0

私のために完璧に働いた。 –

7

使用:make

:set makeprg=php\ -l\ % 
:set errorformat=%m\ in\ %f\ on\ line\ %l,%-GErrors\ parsing\ %f,%-G 

あなたの構文エラーがクイックフィックスウインドウになります。このバッファは:copenまたは:copeで簡単に開くことができます。エラーがある場合にのみウィンドウを開く場合は:cwindowを使用してください。

:cnextと​​を使用してクイックフィックスリストを移動すると、対応するエラーにジャンプできます。私はティム・ポープの優れたunimpared.vimプラグインを提案し、[q]qのようにシンプルなリストを動かすことを提案します。

nnoremap <f5> :update<bar>make<bar>cwindow<cr> 

今、あなただけの<f5>を打つことができ、バッファは、(必要であれば)更新LINTED、およびエラーがクイックフィックスに表示されますされます:私はこのようなマッピングが示唆ワークフローを簡素化するために

窓。

これをもう少し堅牢にするには、これらのコマンドを~/.vim/after/ftplugin/php.vimに追加してください。例詳細については~/.vim/after/ftplugin/php.vim

setlocal makeprg=php\ -l\ % 
setlocal errorformat=%m\ in\ %f\ on\ line\ %l,%-GErrors\ parsing\ %f,%-G 
nnoremap <buffer> <silent> <f5> :update<bar>sil! make<bar>cwindow<cr> 

:h quickfix 
:h makeprg 
:h errorformat 
+0

このコードを実行すると動作しますが、バッファは完全に空白になります。 –

+0

提供されたマッピングは、必要に応じてバッファーを書き込むだけです)、makeprgを使用してlintを実行し、エラーがある場合はクイックフィックスウィンドウを表示します。おそらくディスクに書き込む以外の方法でバッファに変更を加えることはありません。空のクイックフィックスウィンドウを見ている可能性はありますか? –

0

を(時にはエラーに関する手がかりを与えるもの)aはまだ保存されていないファイル(通常はvimでは白黒です)は、構文ファイルのソースを入力してください:

:source $VIMRUNTIME/syntax/[the syntaxfile].vim 

:source $VIMRUNTIME/syntax/sh.vim 
:source $VIMRUNTIME/syntax/php.vim 
:source $VIMRUNTIME/syntax/javascript.vim 
0

あなたはNeomakeのようなプラグインを試してみてください。それは、すべてのPHP構文エラーのガターエラーマーカーに表示されます。行に行くとエラーが表示されます。 PHP Mess detectorPHP Stanにリンクして、コードのエラーや改善点を確認することもできます。

このコンボは非常に強力です!

あなたが興味がある場合は、Vim PHP IDEの作成方法を記事で書きました。これは基本的に試してみるべき重要なプラグインのリストです!もちろん、Neomakeはその一部です。