在 VIM 中验证 PHP 语法
我想知道是否可以在不每次关闭VIM的情况下验证PHP文件在VIM中是否有效?
谢谢
您可以在 vim 中执行 shell 命令。这与从 shell 调用相同:php -l filename.php
:!php -l %
我已将其映射到我的文件中,因此我只需要按F5:~/.vim/after/ftplugin/php.vim
map <F5> :!php -l %<CR>
与以下 php 特定设置一起使用::make
:set makeprg=php\ -l\ %
:set errorformat=%m\ in\ %f\ on\ line\ %l,%-GErrors\ parsing\ %f,%-G
您的语法错误将出现在“快速修复”窗口中。您可以使用或简称打开此缓冲区。如果只想在出现错误时才打开窗口,请使用 。:copen
:cope
:cwindow
您可以使用 和 在快速修复列表中移动以跳转到相应的错误。我建议Tim Pope的优秀unimpared.vim插件,使列表的移动像和一样简单。:cnext
:cprev
[q
]q
为了简化工作流程,我建议进行如下映射:
nnoremap <f5> :update<bar>make<bar>cwindow<cr>
现在,您只需点击,缓冲区将被更新(如有必要),linted,并且任何错误都将出现在quickfix窗口中。<f5>
要使其更加可靠,请将这些命令添加到 中。例~/.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