سؤال

هناك العديد من الأسئلة حول كيفية الحصول على رمز قابلة للطي في emacs ، دون الحاجة إلى إضافة أي شخصيات خاصة مثل "علامات" في التعليقات على سبيل المثال. قال أحدهم إنه لم يكن هناك حل مثالي ".
يبدو أنه يمكن القيام به عن طريق تحليل مصدر البرنامج الذي يتم كتابته والبحث عن قوائم أو قوسين ، أو للقيام بذلك بناءً على المسافة البادئة. يمكنك أيضًا استخدام مجموعة من البرامج النصية التي تستخدم طرقًا مختلفة.
فلماذا يتم قبوله بشكل شائع أنه لا توجد طريقة "مثالية" ومباشرة للحصول على طقم رمز في EMAC؟ هل هناك شيء في Emacs أو بنيةه يجعل من الصعب البرمجة؟ إذا كان الأمر سهلاً ، بعد سنوات عديدة من الأشخاص الأذكياء الذين يستخدمون emacs ، فأنت تعتقد أن شخصًا ما كان قد كتبه.

هل كانت مفيدة؟

المحلول

يجب أن تلعب مع Hideshow (hs-minor-mode) مدموج مع fold-dwim.el. إنه يفعل بالضبط ما اقترحته - يبحث عن مطابقة الأقواس/Parens ، ويمكن إعداده للتراجع عن المسافة البادئة.

يوجد حل قوي قابل للطي لمعظم اللغات الشائعة ، وإذا لم يكن هناك ، فإن جميع الحزم القابلة للطي قابلة للتخصيص للغاية. في الواقع ، الجانب السلبي الوحيد هو انتشار طرق الطي (fold-dwim يساعد قليلا مع ذلك) ؛ اعتدت أن أفكر أنه نظرًا لأن لا أحد يستطيع أن يشيرني إلى حل نهائي ، كان طي صعبًا أو مستحيلًا - في الواقع ، يكون العكس صحيحًا. عليك فقط تجربة القليل لمعرفة ما هو أفضل بالنسبة لك.

لقد استخدمت folding.el (على سبيل المثال لتجميع الأشياء في بلدي .emacs), outline-minor-mode, والآن Hideshow. هناك بعض الفرص لعدم عمل أي منهم بالطريقة التي تريدها تمامًا بالخروج من الصندوق (على سبيل المثال ، قد تحتاج إلى إعداد مخطط تفصيلي ، أو تحديد علامات طي folding.el) ، ولكن اتضح أن تكون سهلة. يمكن أن تكون مفاتيح المفاتيح الافتراضية باروكية إلى حد ما ، ولكن يتم علاج هذا fold-dwim و/أو hideshow-org (موصى به بشدة لـ Hideshow ، راجع صفحة Hideshow Emacswiki ؛ يمكنك أيضًا التقليد hideshow-orgسلوك أنماط قابلة للطي أخرى مع بعض elisp السريع والكهف و fold-dwim). بمجرد معرفة الإعداد المفضل لديك ، ما عليك سوى تشغيله تلقائيًا عبر الخطافات أو المتغيرات المحلية العازلة ، وشاهد الرمز الخاص بك بعيدًا :) (انظر أدناه ، لاحظ النقر القابل للنقر +في الهامش).

alt text http://img198.imageshack.us/img198/4029/screenshot1oc.png

نصائح أخرى

يجب أن تنظر في CEDET. إنه يعمل على ما يرام ، والعديد من الميزات الفاخرة الأخرى التي ربما تبحث عنها إذا كنت تتحول من IDE إلى EMAC.

http://cedet.sourceforge.net/

على وجه التحديد ، ابحث عن وضع "وضع الدعامة الدلالية العالمية"

لا تحتاج إلى أي شيء إضافي ، فقط قم بتمكين وضع المخطط التفصيلي لأنواع الملفات التي تريد طيها.

ولكن في الواقع ، هناك حلول مختلفة ل emacs. لقد أدرجت بعضهم (تلك التي صادفتها) http://en.wikipedia.org/w/index.php؟title=code_folding&oldid=375300945#cite_note-2.

على الرغم من أن هناك أشياء أفتقدها: في بعض الحالات ، أود الجمع بين العديد من الآليات: على سبيل المثال ، للتخفيض ، أود استخدام طي قائم على الخطوط العريضة (للأقسام) والطي القائم على المسافة البادئة (من أجل الاقتباسات ، كتل التعليمات البرمجية وما إلى ذلك) - من أجل عدم إزعاجها بتنفيذ محلل كامل للتخفيض.

ها هم:

طي قائم على الرمز في emacs

إن طي الرمز المميز في emacs فظيع من قبل طي وضع صغير.

قائم على المسافة البادئة في emacs

يمكن للمرء استخدام set-selective-display وظيفة في emacs لإخفاء الخطوط بناءً على مستوى المسافة البادئة ، كما هو مقترح في رمز عالمي قابل للطي ملاحظة.

طي يعتمد على بناء الجملة في emacs

يتم دعم الطي المعتمد على بناء الجملة في emacs بواسطة:

يتم توحيد عدة آليات قابلة للطي من قبلأضعاف واجهه المستخدم.

أنظر أيضا http://www.emacswiki.org/emacs/categoryhidestuff.

طي المناطق التي يختارها المستخدم في emacs

يتم تنفيذ طي المناطق التي يختارها المستخدم في emacs بواسطة إخفاء المنطقة يأمر.

لقد كنت استخدم وضع طي لبعض الوقت. مع قالب إدخال تلقائي و Abrevs ، يعمل بشكل جيد بالنسبة لي لبعض الطوب اللطيف من التعليمات البرمجية.

لطالما كانت القدرة على إنتاج المخزن المؤقت المطوي (للطباعة/البريد الإلكتروني) رغبة في لي. بعض العلامات القابلة للطي هي للاختباء الآمن / كلمة المرور.

نعم أخيرًا رمز قابلة للطي موجود في emacs. جرب Yafolding الحاضر في مكتبة حزمة melpa.org.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top