فيم سكريبت
يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. (ديسمبر 2018) |
فيم سكريبت (بالإنجليزية: Vim script) يعتبر فيم واحداً من أشهر محررات النصوص خصوصاً في مجتمعات التطبيقات الحرة و المفتوحة المصدر، و يعطي فيم القابلية للمبرمجين بالقيام بتطوير إضافات و امتدادات للمحرر و يتم ذلك بشكل رئيسي باستخدام لغة البرمجة النصية (فيم سكريبت) و هي لغة برمجة مخصصة لتطوير محرر النصوص فيم، و قد تم تطوير هذه اللغة بناءً على لغة "إي أكس" (ex) و التي استخدمت لتطوير محرر النصوص في آي (vi). ضمت الإصدارات الأولى من محرر النصوص فيم بعض أوامر التحكم للسيطرة على مجرى التنفيذ (Execution Flow) و التحكم بتعريفات الوظائف أو ما تعرف بالروتين الفرعي (Function Definitions) و منذ الإصدارة السابعة لفيم أصبحت فيم سكريبت تدعم أنواع متغيرات متقدمة مثل القوائم المرتبطة (Lists) و مصفوفات الخرائط (Dictionaries) بالإضافة إلى دعم بسيط للبرمجة الكينونية. و تسمح الوظائف المبرمجة مسبقا في فيم للمبرمجين القيام بكتابة البرامج الأساسية بنمط البرمجة الوظيفية و لكن فيم سكريبت بنيت و تبنت نمط البرمجة الأمرية. و يمكن لأي ماكرو في فيم أن يحوي سلسلة متعاقبة من أوامر النمط الخارجي و لكن يمكنه أيضاً استدعاء أمر (ex) أو وظيفة مكتوبة بفيم سكريبت لتنفيذ مهام أكثر تعقيداً، و يشار هنا إلى أن معظم الإضافات أو الامتدادات التي تم تطويرها لفيم كانت قد كتبت باستخدام فيم سكريبت و طبعا لا يعني ذلك أنه لا يمكن كتابة إضافات بلغات نصية أخرى مثل بيرل (Perl) أو بايثون (Python) أو لوا (Lua) و يشترط في ذلك أن تكون هذه اللغات قد تم ربطها مع فيم أثناء عملية الترجمة (Compilation Time)، ويتم تخزين ملفات الفيم سكريبت على شكل نصوص عادية و لكن اسم الملف ينتهي بالامتداد (vim.)
مثال توضيحي
التالي يمثل برنامج تمت كتابته بلغة فيم سكريبت و هو برنامج بسيط يقوم بطباعة الأرقام من 1 إلى 4:
let i = 1
while i <5
echo "count is" i
let i += 1
endwhile