فيم سكريبت

فيم سكريبت (بالإنجليزية: Vim script)‏ يعتبر فيم واحداً من أشهر محررات النصوص خصوصاً في مجتمعات التطبيقات الحرة و المفتوحة المصدر، و يعطي فيم القابلية للمبرمجين بالقيام بتطوير إضافات و امتدادات للمحرر و يتم ذلك بشكل رئيسي باستخدام لغة البرمجة النصية (فيم سكريبت) و هي لغة برمجة مخصصة لتطوير محرر النصوص فيم، و قد تم تطوير هذه اللغة بناءً على لغة "إي أكس" (ex) و التي استخدمت لتطوير محرر النصوص في آي (vi). ضمت الإصدارات الأولى من محرر النصوص فيم بعض أوامر التحكم للسيطرة على مجرى التنفيذ (Execution Flow) و التحكم بتعريفات الوظائف أو ما تعرف بالروتين الفرعي (Function Definitions) و منذ الإصدارة السابعة لفيم أصبحت فيم سكريبت تدعم أنواع متغيرات متقدمة مثل القوائم المرتبطة (Lists) و مصفوفات الخرائط (Dictionaries) بالإضافة إلى دعم بسيط للبرمجة الكينونية. و تسمح الوظائف المبرمجة مسبقا في فيم للمبرمجين القيام بكتابة البرامج الأساسية بنمط البرمجة الوظيفية و لكن فيم سكريبت بنيت و تبنت نمط البرمجة الأمرية. و يمكن لأي ماكرو في فيم أن يحوي سلسلة متعاقبة من أوامر النمط الخارجي و لكن يمكنه أيضاً استدعاء أمر (ex) أو وظيفة مكتوبة بفيم سكريبت لتنفيذ مهام أكثر تعقيداً، و يشار هنا إلى أن معظم الإضافات أو الامتدادات التي تم تطويرها لفيم كانت قد كتبت باستخدام فيم سكريبت و طبعا لا يعني ذلك أنه لا يمكن كتابة إضافات بلغات نصية أخرى مثل بيرل (Perl) أو بايثون (Python) أو لوا (Lua) و يشترط في ذلك أن تكون هذه اللغات قد تم ربطها مع فيم أثناء عملية الترجمة (Compilation Time)، ويتم تخزين ملفات الفيم سكريبت على شكل نصوص عادية و لكن اسم الملف ينتهي بالامتداد (vim.)

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوقة. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018)

مثال توضيحي

التالي يمثل برنامج تمت كتابته بلغة فيم سكريبت و هو برنامج بسيط يقوم بطباعة الأرقام من 1 إلى 4:

let i = 1
while i <5
  echo "count is" i
  let i += 1
endwhile

وصلات خارجية

المراجع

      • بوابة برمجة الحاسوب
      • بوابة برمجيات
      • بوابة برمجيات حرة
      This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.