يفتقر محتوى هذه المقالة إلى مصادر موثوقة

فيم سكريبت

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث
Question book-new.svg
تعرَّف على طريقة التعامل مع هذه المسألة من أجل إزالة هذا القالب.يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوقة. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 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

وصلات خارجية[عدل]

المراجع[عدل]