42 votes

Valider la syntaxe PHP dans VIM

Je voudrais savoir s'il est possible de valider si un fichier PHP est valide dans VIM sans fermer VIM à chaque fois?

Je vous remercie

52voto

gpojd Points 12043

Vous pouvez exécuter des commandes shell dans vim. Cela revient à appeler php -l filename.php partir du shell:

 :!php -l %
 

Je l'ai mappé dans mon fichier ~/.vim/after/ftplugin/php.vim sorte que je n'ai qu'à appuyer sur F5:

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

8voto

Peter Rincker Points 14594

Utiliser :make avec le php suivant des paramètres spécifiques:

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

Vos erreurs de syntaxe sera dans le Quickfix fenêtre. Vous pouvez ouvrir ce tampon avec de l' :copen ou :cope pour faire court. Si vous voulez ouvrir la fenêtre que si leurs erreurs d'utilisation :cwindow.

Vous pouvez utiliser :cnext et :cprev de se déplacer à travers le quickfix liste de sauter les erreurs correspondantes. Je suggère Tim du Pape excellent unimpared.vim plugin pour le faire passer par le biais de la liste d'aussi simple que d' [q et ]q.

Pour simplifier le flux de travail, je suggère une cartographie comme celui-ci:

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

Maintenant, vous pouvez simplement frapper <f5> et le tampon sera mis à jour (si nécessaire), linted, et toutes erreurs apparaissent dans le quickfix fenêtre.

Pour rendre cela un peu plus robuste, ajouter ces commandes pour ~/.vim/after/ftplugin/php.vim. Exemple ~/.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>

Pour plus d'informations:

:h quickfix
:h makeprg
:h errorformat

4voto

lucapette Points 13109

1voto

autoreverse Points 1

Pour vérifier la syntaxe PHP sans avoir à enregistrer au préalable, vous pouvez utiliser:

carte: w! php -l

http://vim.wikia.com/wiki/Runtime_syntax_check_for_php

0voto

Arda Points 1635

Il existe un autre plugin appelé vim-phpqa qui marque la ligne:

https://github.com/joonty/vim-phpqa

entrez la description de l'image ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X