سؤال

التكرار المحتمل:
كيفية تحقيق تأثيرات طي التعليمات البرمجية في إيماكس

ميزة ممتازة لبرنامج Dreamweaver هي كود طي أي أسطر من النص - بشكل متكرر!

إنه أمر رائع، يمكنني طي أي نص أو رمز، بغض النظر عن اللغة.أنا أعمل مع الأنظمة الحالية.لا أقوم بتحرير التعليمات البرمجية أو التعليمات البرمجية المكتوبة جيدًا بلغة واحدة وما إلى ذلك.غالبًا ما يتم خلط HTML مع ما لا يعلمه إلا الله.خطوط قابلة للطي تجعل الفهم كثيراً أسهل وأسرع.ومن المؤسف أن هذا هو فقط الميزة التي أحبها في Dreamweaver.

هل هناك أي كود قابل للطي لـ Emacs لغرض مماثل؟

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

المحلول

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

اسمحوا لي أن أضيف:هناك نسخة مكررة من هذا تستحق المشاهدة: كيفية تحقيق تأثيرات طي التعليمات البرمجية في إيماكس.

نصائح أخرى

إخفاء الظهور (hs-minor-mode) هو وضع ثانوي سيفعل شيئًا مثل هذا ...

ربط المفتاح الافتراضي لتشغيل الطي هو C-c @ C-c الذي أجده مرهقًا جدًا.ولكن بعد ذلك لا أستخدمه كثيرًا أيضًا.

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

أستخدم Fold-dwim.el.من موقع إيماكس ويكي:

Fold-dwim.el عبارة عن واجهة مستخدم موحدة لأوضاع الطي/التخطيط التفصيلي لـ Emacs.وهو يدعمfold.el، وhideshow.el، وoutline.el، وTeX-fold.el، وnxml-outln.el

يمكنك الحصول عليه هنا:

http://www.emacswiki.org/emacs/FoldDwim

لدي هذا في .emacs الخاص بي:

(require 'fold-dwim)
(global-set-key [(C kp-4)] 'fold-dwim-hide-all)
(global-set-key [(C kp-5)] 'fold-dwim-toggle)
(global-set-key [(C kp-6)] 'fold-dwim-show-all)

ضع في اعتبارك أنك لا تزال بحاجة إلى تنشيط الوضع hs-minor، ووضع الطي، وما إلى ذلك.لكني أجد أنه من الأسهل استخدامها بهذه الطريقة.

شيء آخر قد تنظر فيه هو وضع nxhtml;لا يطوى رمز، لكنه يسلط الضوء على التعليمات البرمجية المختلطة (أي.HTML و PHP) بشكل مختلف حسب نوعه.يمنحك هذا مكاسب مماثلة في الفهم دون الإحراج في وضع الطي.أعتقد أن هذا النهج أكثر ملاءمة لـ Emacs على أي حال، أولاً لأن طي التعليمات البرمجية يبدو وكأنه فكرة موجهة للماوس ولا تتكيف بشكل جيد مع واجهة Emacs التي تركز بشكل أساسي على لوحة المفاتيح، وثانيًا لأن Emacs يسهل التنقل في ملف كبير إلى حد ما يمكن أن يظل هذا الرمز مرئيًا دون أن يعيق طريقك.

إذا كنت تحتاج بالفعل إلى "شيء ما لإخفاء منطقة معينة بدلاً من محاولة فهم بناء الجملة" (على عكس إخفاء العرض والحلول الأخرى المستندة إلى التحليل) وأنت "لا تريد أن تضطر إلى تعديل الكود [الخاص بك]" (على عكس الطي) إذن، أفترض أنك تقصد أنك لا تريد أن تظل المناطق ثابتة بين جلسات التحرير المختلفة.ثم قد تستخدم http://www.emacswiki.org/emacs/HideRegion لإخفاء المناطق المحددة بواسطة المستخدم...

(لكن هذا غريب.يبدو أن الوضع البسيط القابل للطي مع العلامات المستمرة هو الحل الأكثر ملاءمة.)

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