
BIM هو محرر نص طرفي مع تمييز بناء الجملة.
مستوحى من VIM (يمكن للمرء أن يقول تقليد سيء) ويتميز بتحرير مماثل قائم على الوضع ، وقد تم كتابة BIM في الأصل لـ Toaruos ، ولكن تم اختباره أيضًا في Linux و Sortix و FreeBSD و MacOS.
يهدف BIM إلى محرر النصوص المضمون في Toaruos ، وهو نظام تشغيل هواية مصنوع من نقطة الصفر.
تهدف BIM إلى أن تكون خفيفة الوزن وميزة مع عدم وجود تبعيات خارجي* ، مما يوفر تجربة تحرير حديثة في حزمة خفيفة الوزن وقابلة للتمديد.
hjkl التقليدي.git diff في الخط ، إلى جانب التغييرات غير المحفوظة. يتطلب BIM مكتبة C تشبه Unix بما فيه الكفاية ومترجم C99 مع امتدادات GNU معينة (مثل __attribute__((constructor)) ).
يحتاج BIM 3 أيضًا إلى Kuroko ، والذي له متطلبات مماثلة. يرتبط BIM عادةً بشكل ثابت مع مترجم Kuroko لبناء Linux ، ويرتبط ديناميكيًا ببناء Toaruos.
تم بناء BIM بنجاح لعدد من الأهداف ، بما في ذلك مختلف BSDs و Toaruos و Sortix وغيرها.
أولاً ، قم بتثبيت كوروكو:
git clone https://github.com/kuroko-lang/kuroko
cd kuroko
make && sudo make install # You can obtain deb packages, or build one with 'fpm' with 'make deb'ثم بناء BIM:
git clone https://github.com/klange/bim
cd bim
make && sudo make installثم قم بتثبيت مثال التكوين:
cp docs/example.bim3rc ~ /.bim3rc تم اختبار BIM في عدد من المحطات ، وعلى الرغم من أنها لا تستخدم قواعد بيانات terminfo ، يجب أن تكون الوظائف الأساسية متاحة في الغالبية العظمى من المحاكيات المتبقية وحتى أجهزة DEC الكلاسيكية.
إذا كانت المحطة التي تستخدمها تحتوي على بعض المراوغات أو لا تلعب بشكل جيد مع الافتراضات الافتراضية ، فيمكنك تعديل السلوك لتناسب بيئتك.
يمكن التحكم في ميزات القدرة باستخدام "المراوغات" ، إما من خلال أمر quirk في BIMRC ، أو مع خيار سطر الأوامر -O .
تنسيق أمر quirk هو quirk(envvar,teststr,'no...','can...',...) حيث يكون ENVVAR هو اسم متغير البيئة teststr سلسلة للتحقق من أي ما يجب أن يكون بادئة لمتغير البيئة.
على سبيل المثال ، سوف يقوم quirk('TERM','xterm','nounicode') بتعطيل إخراج Unicode على جميع المحطات التي تبدأ بـ "Xterm" (بما في ذلك "Xterm-256Color").
يمكنك أيضًا تحديد المراوغات مع متغير بيئة $COLORTERM ، أو متغير $TERMINAL_EMULATOR الذي تم تعيينه بواسطة IDEs معينة.
يتم توفير بعض الأمثلة على تكوينات quirk في مستندات/مثال.
يوصى بدعم UNICODE/UTF-8 ويفترضه افتراضيًا. سيقوم خيار nounicode Quirk بتعطيل إخراج أحرف UTF-8 وجعلها تلميحات كودبنية مثل <U+1234> بدلاً من ذلك.
يُفترض أيضًا أن 256 لونًا و 24 بت من الألوان افتراضيًا ، وتعطيلها باستخدام المراوغات no256color و no24bit على التوالي.
إذا كان لديك محطة منخفضة اللون بشكل خاص ، فسيشير nobright المرفق إلى الموضوعات التي يجب استخدامها فقط 8 ألوان.
يتم دعم ثلاثة أوضاع للتمرير: تمرير Shift ، إدراج/حذف التمرير ، و Redraw التمرير.
تم افتراض تمرير التحول ( ^[[1S / ^[[1T ) افتراضيًا. إذا كانت المحطة الخاصة بك تدعم إدراج / حذف التمرير ( ^[[L / ^[[M ) ، قم بتمكين caninsert quirk.
إذا لم يكن خيار التمرير متاحًا ، فاستخدم noscroll quirk لإعادة رسم حقل النص عند التمرير. ربما سيكون هذا بطيئًا!
دعم الماوس مع ^[[?1000h يفترض افتراضيًا. استخدم Quirk nomouse لتعطيله.
إذا كانت المحطة الخاصة بك تدعم أوضاع الماوس SGR ("1006") ، فقم بتمكين cansgrmouse quirk. تدعم معظم المحطات الشبيهة بـ Xterm هذا وستوفر الدعم للنقر على الخلايا في النوافذ الطرفية الأكبر.
ويفترض أيضا دعم الشاشة البديلة. عادة ما يكون هذا جيدًا حتى لو لم يدعمه المحطة الخاصة بك ، ولكن إذا تسبب في مشاكل ، فإن noaltscreen Quirk سوف تعطيلها.
يمكن العثور على keybindings الافتراضية في docs/maptings.md.
يمكن إنشاء هذه القائمة باستخدام bim --dump-mappings .
يمكن العثور على قائمة كاملة بالأوامر المتاحة في المستندات/الأوامر.
يمكن إنشاء هذه القائمة باستخدام bim --dump-commands .
يمكنك استخدام BIM لعرض الملفات في المحطة الخاصة بك مع تمييز بناء الجملة مع bim -c (بدون أرقام سطر) و bim -C (مع أرقام الأسطر).

يمكنك أن تنشر النص إلى BIM للتحرير مع bim - . لاحظ أن BIM سينتظر حتى نهاية الملف قبل الإطلاق ، لذلك هذا غير مناسب للاستخدام باعتباره جهاز Pager (يتم التخطيط لدعم النداء).
يمكن أيضًا استخدام BIM لإنشاء مستندات HTML باستخدام رمز المصدر المرتفع بناء على بناء الجملة مع bim --html ؛ سيتم استخدام السمة المكونة.
يتضمن BIM حفنة من مخططات الألوان للواجهة وتمييز بناء الجملة.
موضوع عادي 16 لون. يمكن تكوينها للاستخدام على المحطات مع أو بدون دعم لون مشرق. يشبه إلى حد ما IRSSI.

سمة ملونة أصلية 24 بت مع بني ريفي وألوان الباستيل المهزوم.

نسخة 256 لونًا من Sunsmoke للاستخدام في المحطات التي لا تدعم اللون 24 بت.

موضوع 256 لونًا يعتمد على موضوع نفس الاسم لـ VIM.

سمة ألوان 24 بت تستند إلى لوحة الألوان الشهيرة.

سمة ألوان 24 بت تستند إلى واحد للذرة والسامية ، ويتميز بلوز التباين المنخفض.

استنادًا إلى Selenized بواسطة Jan Warchoł

سوف BIM تلقائيا استيراد ~/.bim3rc على بدء التشغيل.
يتوفر مثال BIMRC مفصل في docs/example.bim3rc.
برامج النصوص BIM مكتوبة في كوروكو.
لا تكتمل جميع أدوات بناء الجملة أو تدعم جميع ميزات اللغات الخاصة بها.
تعيش وظيفة BIM الأساسية في bim.c
تتم كتابة البناء والموضوعات في بناء الجملة في كوروكو ويوجد في بناء syntax themes .
محرك التعبير العادي لـ BIM هو شيء طهيه بشكل عشوائي. وظيفتها محدودة إلى حد ما والسلوك عرضة للتغيير.
.^ يطابق بداية الخط ، يطابق $ النهاية.. يطابق أي شخصية.[] يمكن استخدام الأقواس في المباريات البديلة.^ كما الشخصية الأولى تنفي المباراة.ab للنطاقات البسيطة.- في تعبير قوس ، ضعه أمام أي حرف آخر ولكن بعد نفي ^ ، مثل [-_*] .^ في تعبير قوس ، استخدمه أي موضع بعد الأول. [^^] يعني "أي شيء باستثناء ^ ".] في تعبير قوس ، استخدم ] .t استخدم \ للاضطراب الخلفي الحرفي.. ، [] ، ويمكن دمج الأحرف الفردية مع ما يلي ، مع التراجع:? تطابق اختياريا مرة واحدة.* يطابق أي عدد من الأحداث.+ تطابقات على الأقل عند الحدوث.* و + هل الجشع افتراضيًا ، ولكن يمكن اتباعها ? لجعلهم غير غريدي.() يمكن استخدام الأقواس في المستوى العلوي لمجموعات الالتقاط.عند إجراء بدائل ، يتم دعم بعض تسلسل الهروب:
t إدراج حرف علامة تبويب. \ إدراج انتشار خلفي حرفي.