فيم سكريبت (بالإنجليزية: 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

وصلات خارجية

عدل

المراجع

عدل