2011-01-07 11 views
37

Bunun nedeni, her dosya kaydettikten sonra testleri otomatik olarak çalıştırmak istiyorum.Vim'de bir dosyayı kaydettikten sonra bir kabuk komutunu otomatik olarak yürütmek nasıl?

autocmd ve BufWritePost'a baktım, ancak çalışmasını sağlayamadım.

:autocmd BufWritePost * !run_tests.sh <afile> 

ile otomatik komutu bakın::

:autocmd BufWritePost * 

Ve tüm otomatikleştirilmiş, kaldırmak herhangi bir dosya sadece parametre olarak geçerli dosya adı, kaydedildikten sonra

cevap

50

Bu run_tests.sh çalışır ile önceki komutlar:

+0

Böyle bir şeye bir yol var mı ?: tests.html adlı bir dosya varsa Geçerli dizini VEYA hemen yukarıdaki dizinde testprog tests.html VEYA cd .. testprog tests.html komutunu çalıştırın? –

+3

@Running Turle: Bunun için bir işlev oluşturacağım ve daha sonra bir autocmd'de kullanacağım. Bir dosya olup olmadığını test etmek için 'filereadable()' seçeneğini kullanın ve ardından buna göre hareket edin. – blueyed

İlgili konular