การพับโค้ดใน Emacs
บางครั้งฉันต้องการพับบล็อกข้อความ ในกลุ่มคุณพับได้ง่ายโดยไม่ต้องฝอย โดยไม่ต้องการเพิ่มตัวละครพิเศษใด ๆ เช่น "เครื่องหมาย" หรือ regex {{{
ที่เฉพาะเจาะจงเช่น ฉันต้องการเลือกภูมิภาคและพับโดยไม่ต้องยุ่งกับโครงสร้าง
เมื่อมองไปรอบ ๆ ดูเหมือนว่ามีคำถามเกี่ยวกับการพับโค้ดใน Emacs อยู่แล้ว บางคนบอกว่าไม่มี "ทางออกที่สมบูรณ์" ตัวอย่างเช่นฉันสร้างคลิปการเขียนโค้ดอย่างง่ายใน Vim:
พับธรรมดาเป็นกลุ่ม
+ ค่อนข้างง่ายเลือกภูมิภาคและพับมัน
+ มันขัดขืน เมื่อคุณฆ่า buffer / close Vim และเปิดไฟล์อีกครั้งการพับยังคงอยู่ที่นั่น
+ คุณจะได้รับแถบไฮไลต์เพื่อดูว่าอะไรถูกพับ
มีการกำหนดค่าการพับอื่น ๆ มากมายสำหรับ Vim ฉันมีความสุขกับ Emacs แต่นี่เป็นสิ่งหนึ่งที่ฉันคิดถึง ทางเลือกอื่น ๆ ที่ฉันลองตัวอย่างเช่น HideShow:
HideShow
hide-show minor mode
ทางเลือกที่ชั่วร้ายด้วย ฉันพบว่าใช้ไม่ได้:
- ฉันไม่สามารถเลือกภูมิภาคและพับมันได้ มันพับบนบล็อครหัส
- ไม่มีบาร์ higlihgting หรือสิ่งที่จะเข้าร่วมคุณมันพับ คุณสามารถพลาดได้ง่าย
- มันไม่ขัดขืน หากคุณเปิดไฟล์อีกครั้งการพับจะหายไป
มีแพ็คเกจอื่นพับนี่ :
พับสิ่งนี้
- เป็นทางเลือกที่สวย อย่างไรก็ตามมันยุ่งเหยิงกับการเยื้องเนื่องจากข้อความที่อยู่ใต้โฟลด์จะถูกวางไว้ถัดจากโฟลด์ ... (?)
- สามารถเลือกภูมิภาคและแสดงภาพได้ แต่มันก็ทำลายความรู้สึกดังนั้นภาพรวมจึงทำให้สับสน ไม่ค่อยมีประโยชน์
- ไม่มีบาร์ higlihgting หรือสิ่งที่จะเข้าร่วมคุณมันพับ คุณสามารถพลาดได้ง่าย
มีปัญหาอะไร
ฉันต้องการทำซ้ำวิธีที่ Vim ทำการพับ แต่เมื่อฉันค้นหาไปรอบ ๆ ดูเหมือนว่าเป็นการยากที่จะทำเช่นนั้นใน Emacs ดังนั้นฉันสงสัยว่ามีบางอย่างใน emacs หรือสถาปัตยกรรมที่ทำให้ยากต่อการทำซ้ำหรือไม่? ขีด จำกัด คืออะไร?