يهدف Vis إلى أن يكون محررًا حديثًا وخاليًا من التراث وبسيطًا ولكنه فعال، ويجمع بين نقاط القوة في كل من vi(m) وsam.
إنه يوسع التحرير المشروط لـ vi مع دعم مدمج للمؤشرات/التحديدات المتعددة ويجمعه مع لغة الأوامر الهيكلية القائمة على التعبير العادي لـ sam.
محرر عالمي، يتمتع بدعم جيد لـ Unicode ويجب أن يتعامل مع الملفات العشوائية، بما في ذلك الملفات الكبيرة أو الثنائية أو ذات السطر الواحد.
يتم توفير تمييز بناء الجملة الفعال باستخدام Parsing Expression Grammars، والذي يمكن التعبير عنه بسهولة باستخدام Lua في شكل LPeg.
تمت كتابة جوهر المحرر بكمية معقولة من كود C النظيف (قد يختلف عدد الأميال التي قطعتها) والحديث والخالي من التراث، مما يتيح له العمل في بيئات محدودة الموارد. يجب أن يكون التنفيذ سهل الاختراق ويشجع على التجريب. هناك أيضًا واجهة برمجة تطبيقات Lua للإضافات قيد التشغيل.
تسعى Vis إلى أن تكون بسيطة وتركز على مهمتها الأساسية: إدارة النصوص بكفاءة. يتم توفير معالجة الحافظة والرسم البياني بالإضافة إلى مربع حوار فتح الملف الغامض بواسطة أدوات مساعدة مستقلة. توجد خطط لاستخدام بنية العميل/الخادم، أو تفويض إدارة النوافذ إلى نظام النوافذ لديك أو معدد الإرسال الطرفي المفضل.
القصد ليس أن يكون الخطأ مقابل الخطأ متوافقًا مع vi(m). بدلاً من،
نحن نهدف إلى توفير ميزات تحرير أكثر قوة بناءً على التصميم الأنيق والتنفيذ النظيف.
من أجل البناء، ستحتاج إلى مترجم C99 وبيئة متوافقة مع POSIX.1-2008 بالإضافة إلى:
بافتراض استيفاء هذه التبعيات، قم بتنفيذ:
$ ./configure && make && sudo make install
افتراضيًا، سيحاول البرنامج النصي configure
اكتشاف دعم Lua تلقائيًا باستخدام pkg-config(1)
. راجع configure --help
للحصول على قائمة بالخيارات المدعومة. يمكنك أيضًا تعديل ملف config.mk
الذي تم إنشاؤه يدويًا.
أو ببساطة استخدم إحدى حزم التوزيع المتوفرة.
يمكن العثور على وثائق المستخدم النهائي في صفحة دليل vis(1)
وWiki. اقرأ الأسئلة الشائعة للأسئلة الشائعة. تعرف على بعض الاختلافات مقارنة بـ sam(1)
و vim(1)
على التوالي.
تتوفر أيضًا وثائق C API بالإضافة إلى وثائق Lua API.
بعض الميزات التي لن يتم تنفيذها:
#ifdef
الفوضى هناك الكثير من الطرق للمساهمة، وفيما يلي بعض الأفكار:
:help
الإخراج اطلع على نظرة عامة على المطور للبدء ولا تتردد في طرح سؤال في قناة #vis-editor
IRC على libera (انضم عبر متصفحك).