انتقل إلى المحتوى

فيم سكريبت

يفتقر محتوى هذه المقالة إلى مصادر موثوقة.
من ويكيبيديا، الموسوعة الحرة

هذه نسخة قديمة من هذه الصفحة، وقام بتعديلها JarBot (نقاش | مساهمات) في 15:40، 26 أبريل 2020 (بوت:تدقيق إملائي V1.6). العنوان الحالي (URL) هو وصلة دائمة لهذه النسخة، وقد تختلف اختلافًا كبيرًا عن النسخة الحالية.

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

وصلات خارجية

المراجع