Jadi pertanyaan saya sederhana. Apakah ide yang baik untuk belajar vim scripting hanya untuk membuat vim atau kita harus mengadopsi beberapa bahasa lain yang lebih diterima untuk itu.
Misalnya Tautan ini membuka video YouTube yang menunjukkan Cara menggunakan Python untuk membuat plugin vim.
Skrip Vim tidak sepenuhnya berguna kecuali seseorang bermaksud membuat beberapa plugin vim. Jadi apakah ada hal tertentu yang tidak dapat dilakukan kecuali skrip vim hanya digunakan?
Jawaban:
Plugin saya 99% di VimL. Alasannya adalah bahwa VimL tersedia di mana vim diinstal. Ini jauh lebih rumit dengan bahasa lain - misalnya, sangat jarang saya menginstal Python di kotak jendela tempat saya menggunakan Vim.
Tentu saja VimL rumit, kehilangan banyak fitur keren, tetapi setidaknya, lebih mudah untuk memiliki sesuatu yang portabel.
1% tidak dalam VimL adalah ketika saya perlu berinteraksi dengan API eksternal yang menawarkan binding python.
BTW, hampir semua yang Anda pelajari tentang VimL dapat digunakan secara interaktif saat Anda bermain dengan perintah seperti
:substitute
. Kebanyakan pemetaan atau makro tidak membutuhkan python juga.sumber
map()
yang mengharapkan string atau (yang tidak terkait):map
. Saya sering harus bermain dengan / sekitar evaluasi string untuk sampai ke ujung saya seperti menghasilkan pemetaan atau memproses daftar panggilan fungsi, ...exec
potongan VIML. Ini memungkinkan Anda menulis logika inti Anda dalam bahasa yang Anda mungkin bisa bekerja jauh lebih efisien, tetapi Anda masih perlu belajar VimL.Jika Anda berniat menulis plugin, Anda harus membaca artikel yang bagus "Writing Vim Plugins", oleh Steve Losh ; tidak hanya untuk memutuskan apakah Anda akan tetap dengan VIML atau tidak, tetapi untuk saran praktik terbaik.
Ini juga berisi diskusi kecil tentang Scripting Vim dengan Bahasa Lainnya :
Pengalaman saya adalah bahwa bahkan ketika plugin non-VimL lebih baik, saya akhirnya beralih ke alternatif VimL murni nanti, terutama karena portabilitas. Vim berjalan di hampir semua sistem (bahkan sistem lama dan jelek), dan overhead pengaturan dependensi atau menonaktifkan sementara plugin itu tidak layak (terutama jika Anda terus lupa bahwa Anda menonaktifkannya dan mencoba menggunakan pemetaan / perintahnya) .
Bahkan ketika lebih mudah untuk mengatur dependensi Anda dapat menemukan beberapa masalah (misalnya: beberapa plugin berbasis python tidak berfungsi 100% ketika mereka bersumber dari folder bersama di Mesin Virtual). Itu sebabnya beberapa plugin yang saya tulis hanya menggunakan VIML.
sumber