Jalankan perintah shell pada file saat ini berdasarkan ekstensi file

8

Saat ini saya sedang melakukan banyak pekerjaan dengan Ruby dan JavaScript. Saya tahu bahwa saya dapat menjalankan file Ruby saya dengan :! ruby %dan juga JavaScript saya dengan :! node %, dan bahwa saya dapat mengikat salah satu dari mereka, misalnya ,b,. Bagaimana saya bisa mengatur semuanya sehingga saya hanya dapat mengikat satu perintah yang akan memeriksa ekstensi file yang saya edit dan menjalankan perintah yang sesuai?

Tom
sumber

Jawaban:

10

Anda bisa menggunakannya :makeuntuk ini; Anda dapat mengatur makeprg(kependekan dari make program) ke perintah apa pun.

Beberapa contoh:

au FileType ruby set makeprg=ruby\ %
au FileType javascript set makeprg=node\ %
au FileType python set makeprg=python\ %
au FileType coffeescript set makeprg=coffee\ -c\ %

noremap ,b :make<CR>

:makepada awalnya dimaksudkan untuk menjalankan makealat untuk membangun proyek, tetapi bahasa seperti Ruby atau Javascript tidak perlu dikompilasi, untuk mengaturnya ke sesuatu yang akan menjalankan kode masuk akal.

Martin Tournoij
sumber