تسليط الضوء على بناء جملة جافا سكريبت في vim
-
09-06-2019 - |
سؤال
هل وجد أي شخص آخر أن تسليط الضوء على بناء جملة VIM لجافا سكريبت دون المستوى الأمثل؟أجد أنه في بعض الأحيان أحتاج إلى التمرير من أجل تعديل تمييز بناء الجملة، حيث أنه في بعض الأحيان يسقط كل التمييز بشكل غامض.
هل هناك أي حلول أو طرق لإصلاح هذا؟أنا أستخدم فيم 7.1.
المحلول
قد ترغب في تجربة هذا تحسين تمييز بناء جملة جافا سكريبت بدلاً من الذي يأتي مع VIMRUNTIME.
نصائح أخرى
حسنا، لقد قمت بالتعديل بناء جملة جافا سكريبت لـ Yi Zhao, ، وإضافة دعم Ajax Keywords، وتسليط الضوء أيضًا على أساليب DOM وغيرها.
ها هو، إنه بعيد عن أن يكون مثاليًا لأنني ما زلت جديدًا على Vim، ولكن حتى الآن كان لدي عمل. بناء جملة جافا سكريبت الخاص بي.إذا كان بإمكانك الإصلاح وإضافة الميزات، فيرجى القيام بذلك.
تحديث: لقد نسيت أن هذه العناصر المميزة في بناء الجملة تظهر فقط إذا قمت بتضمينها في نظام الألوان الخاص بك، كما فعلت في ملفي Nazca
نظام الألوان.سأختبر ما إذا كان بإمكاني إضافة هذا السطر إلى ملف بناء الجملة المعدل الخاص بي.
اتبع الإصدار الجديد من ملف بناء جملة جافا سكريبت في جيثب, ، لأنه لم يعد مطلوبًا تعديل نظام الألوان الحالي الخاص بك.
ربما تحتاج مزامنة تلوين بناء الجملة إلى التعديل.لقد وجدت في سياقات معينة أنني بحاجة إلى تغييره.
تتحكم مزامنة بناء الجملة ("help sync-sync") في كيفية قيام vim بتتبع وتحديث تحليل التعليمات البرمجية للتلوين، بحيث يمكنه البدء في الرسم في أي مكان في الملف.
الإعدادات الافتراضية لا تعمل دائمًا بالنسبة لي، لذلك أحيانًا أجد نفسي أصدرها
:syn sync fromstart
أقترح قراءة الوثائق أدناه
:help syn-sync
أو تحقق فقط
:help syntax
وابحث عن القسم الخاص بالمزامنة.
لاتخاذ قرار مستنير من بين الخيارات الأساسية الأربعة المتاحة.أحتفظ بتعيينات لمفاتيح الوظائف للتبديل بين وضعي "fromstart" و"ccomment" ولمسح إعدادات المزامنة فقط.
هذه مشاركة قديمة حقًا، لكنني كنت أعاني من نفس الشيء:في بعض الأحيان، يتوقف تمييز بناء الجملة عن العمل عند النظر إلى قسم جافا سكريبت في ملف .html
ملف.كما ذكر OP، كان الحل السريع هو التمرير لأعلى ومن ثم ستبدأ الأشياء في التمييز مرة أخرى بطريقة سحرية.
لقد وجدت اليوم المشكلة الأساسية والحل الجيد.في Vim، يستخدم تمييز بناء الجملة سياقًا لاشتقاق التمييز الصحيح، حيث يتم تعريف السياق بواسطة الأسطر السابقة.- من الممكن تحديد عدد الخطوط التي سيتم استخدامها قبل السطر الحالي عن طريق الإصدار :syntax sync minlines=200
.في هذه الحالة، سيتم استخدام ما يصل إلى 200 سطر سابق كسياق.من الممكن استخدام الملف بأكمله (والذي قد يكون بطيئًا بالنسبة للملفات الطويلة) عن طريق التشغيل :syntax sync fromstart
.
عندما وجدت ذلك، أضفت هذا السطر إلى ملفي .vimrc
:
autocmd BufEnter *.html :syntax sync fromstart
بعمل هذا، .html
ستستخدم الملفات الملف بأكمله كسياق.وبالتالي، سيتم دائمًا تمييز قسم جافا سكريبت بشكل صحيح، بغض النظر عن طول قسم JS.نأمل أن يساعد هذا شخص آخر هناك!
للحصول على حل سريع وقذر، أحيانًا أقوم بالتمرير لأعلى ولأسفل ويتم إعادة ضبط التمييز. كنترول+ل لإعادة رسم الشاشة يمكن أيضًا إصلاحها.