VIM

2011-09-01 13 views
37
'da PHP sözdizimini doğrula

VIM'de bir PHP dosyasının her defasında VIM'i kapatmadan geçerli olup olmadığını doğrulamak ister misiniz?VIM

Teşekkür ederiz

cevap

43

Kabuk komutlarını vim'de yürütebilirsiniz. Bu kabuğundan php -l filename.php arayarak aynıdır:

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

Not Bu, kaydedilen dosyayı doğrulayacaktır, böylece kaydedilmemiş değişiklikleriniz varsa, onları görmeyecektir. – Useless

+0

Eşleme için farklı bir anahtar kullanabilir miyiz: CTRL + P? – Tech4Wilco

+1

@Jimmy, sanırım harita :! Php -l% 'gibi bir şey olurdu. – gpojd

7

Kullanım :make:

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

Kişisel sözdizimi hataları Quickfix penceresinde olacaktır. Bu arabellek kısaca :copen veya :cope ile açabilirsiniz. Yalnızca pencereleri yalnızca hataları varsa, :cwindow kullanın.

:cnext ve :cprev numaralarını kullanarak ilgili hatalara atlamak için quickfix listesinden geçebilirsiniz. Tim Pope'nin mükemmel unimpared.vim eklentisini listeden [q ve ]q kadar basit bir şekilde hareket ettirmesini öneriyorum.

bunun gibi bir eşleme önermek iş akışını kolaylaştırmak için: linted, sadece <f5> vurabilir ve tampon (gerekirse) güncellenecektir Şimdi

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

ve hataları da Quickfix görünecektir penceresi.

Bunu biraz daha sağlam hale getirmek için, bu komutları ~/.vim/after/ftplugin/php.vim'a ekleyin. Örnek ~/.vim/after/ftplugin/php.vim

fazla bilgi için
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

Bu kodu çalıştırdığımda çalışır, ancak arabayı tamamen boş bırakır. –

+0

Sağlanan eşleme, yalnızca gerekli olduğunda arabellek * yazacak, makeprg üzerinden tiftik alacak ve sonra hata varsa, quickfix penceresini gösterecektir. Tamponda diske yazılmasından başka herhangi bir şekilde herhangi bir değişiklik yapmaz. Boş bir düzeltme penceresine bakarak bir şans var mı? –

0

(bazen hatalar hakkında ipuçları verir sey) henüz kaydedilmemiş dosya (genellikle vim üzerinde siyah beyaz) sadece sözdizimi dosyasına kaynak:

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

Örnekler

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

Sen Neomake gibi bir eklenti denemelisiniz. Her PHP sözdizimi hatası için oluk hata işaretçileri size gösterecektir. Hatanın kendisini görmek için hatta devam edin. Kodunuzdaki hataları ve olası gelişmeleri göstermek için PHP Mess detector ve PHP Stan ile bağlantı kurabilirsiniz.

Bu combo çok güçlü!

İlgilenirseniz, Vim PHP IDE'u nasıl oluşturacağınıza dair bir makale yazdım. Bu temelde denemeniz gereken temel eklentilerin bir listesidir! Elbette Neomake bunun bir parçası.