فيم سكريبت

فيم سكريبت  يعتبر فيم واحداً من أشهر محررات النصوص خصوصاً في مجتمعات التطبيقات الحرة والمفتوحة المصدر، ويعطي فيم القابلية للمبرمجين بالقيام بتطوير إضافات وامتدادات للمحرر ويتم ذلك بشكل رئيسي باستخدام لغة البرمجة النصية (فيم سكريبت) وهي لغة برمجة مخصصة لتطوير محرر النصوص فيم، وقد تم تطوير هذه اللغة بناءً على لغة «إي أكس» (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

وصلات خارجية 
 مستودع إضافات فيم
 أمثلة على فيم سكريبت

المراجع 

برمجيات أميغا
لغات برمجة نصية
محررات نصوص
محررات نصوص لنظام مايكروسوفت ويندوز