ชุมชน Emacs กำลังพูดถึง Meow อย่างคึกคัก ซึ่งเป็นแพ็กเกจ modal editing ที่นำการจัดการข้อความแบบ Kakoune มาสู่เอดิเตอร์ยอดนิยมตัวนี้ แตกต่างจาก modal editor แบบ Vim ดั้งเดิม Meow มุ่งเน้นไปที่การแก้ไขแบบ selection-first และมีเป้าหมายที่จะผสานเข้ากับ key binding ที่มีอยู่ของ Emacs อย่างราบรื่น
คุณสมบัติหลักของ Meow :
- การกำหนดค่าที่น้อยที่สุดโดยไม่ต้องพึ่งพาบุคคลที่สาม
- โมเดลการแก้ไขแบบเลือกก่อนที่ได้รับแรงบันดาลใจจาก Kakoune
- เข้ากันได้กับ keymaps ของ Emacs แบบดั้งเดิม
- ลดการใช้ปุ่ม modifier (เช่น SPC xf แทน C-xC-f)
- ประสิทธิภาพที่รวดเร็วเหมือนสายฟ้าเมื่อเปรียบเทียบกับ Evil mode
- การจัดการการเลือกแบบโต้ตอบที่ได้รับแรงบันดาลใจจาก Avy
ชุมชนแตกแยกเรื่องแนวทาง Modal Editing
ผู้ใช้มีความเห็นแตกต่างกันเกี่ยวกับประสิทธิผลของปรัชญา modal editing ที่หลากหลาย บางคนชื่นชมการใช้งานโมเดล Kakoune ของ Meow ที่ถือว่า selection เป็นวัตถุหลักสำหรับการจัดการข้อความ แนวทางนี้สามารถลดการกดปุ่มได้เมื่อเทียบกับโมเดล motion-then-operator ของ Vim อย่างไรก็ตาม ผู้ใช้ที่มีประสบการณ์ชี้ให้เห็นว่าแนวทาง selection-first อาจรู้สึกเหนื่อยหน่ายเมื่อคุณต้องจัดการและรีเซ็ต selection อยู่เรื่อยๆ ระหว่างงานแก้ไขที่ซับซ้อน
การถกเถียงขยายไปไกลกว่าแค่โมเดล Kakoune เทียบกับ Vim สมาชิกชุมชนหลายคนได้ละทิ้ง modal editing ไปเสียแล้ว โดยพบว่า key binding แบบดั้งเดิมของ Emacs ที่ผสมกับแพ็กเกจสมัยใหม่อย่าง Avy และ smartparens ให้ประสบการณ์การแก้ไขที่ลื่นไหลกว่าโดยไม่มีภาระทางจิตใจจากการเปลี่ยนโหมด
ข้อจำกัดทางเทคนิคปรากฏในการใช้งานจริง
แม้ว่า Meow จะมีการออกแบบที่สะอาด แต่ผู้ใช้รายงานปัญหาในทางปฏิบัติที่ส่งผลต่อประสิทธิภาพในการทำงานประจำวัน ฟังก์ชัน repeat ของแพ็กเกจมีปัญหา ต้องใช้โซลูชันจากบุคคลที่สามอย่าง repeat-fu เพื่อให้ทำงานได้อย่างถูกต้อง ผู้ใช้บางคนยังประสบปัญหาการทำ selection หลุดโดยไม่ตั้งใจระหว่างเซสชันการแก้ไข ซึ่งรบกวน workflow มากพอที่จะต้องหาทางเลือกอื่น
ข้อจำกัดเหล่านี้นำไปสู่การพัฒนาโซลูชันที่แข่งขันกัน รวมถึงแพ็กเกจใหม่ที่เรียกว่า Meep ที่เจาะจงแก้ไขปัญหาฟังก์ชัน repeat และการจัดการ selection ของ Meow
ทางเลือกอื่นที่ได้กล่าวถึง:
- Evil mode: การจำลอง Vim แบบดั้งเดิม (ระบุว่าช้ากว่า)
- God-mode: ลดการใช้ปุ่ม modifier ให้น้อยที่สุด
- Meep: ทางเลือกใหม่ที่แก้ไขปัญหาฟังก์ชัน repeat ของ Meow
- Repeat-fu: แพ็กเกจจากบุคคลที่สามเพื่อแก้ไขปัญหา repeat ของ Meow
ความแตกแยกทางปรัชญา: เปียโนเทียบกับช่างตีเหล็ก
การพูดคุยของชุมชนเผยให้เห็นความแตกแยกทางปรัชญาพื้นฐานเกี่ยวกับแนวทางการแก้ไขข้อความ
กับ Vim การแก้ไขข้อความรู้สึกเหมือนการเล่นเปียโน สำหรับทุกการกระทำ คุณจะแต่งลำดับของ binding และดำเนินการ Emacs รู้สึกเหมือนการตีเหล็กมากกว่า ค่อยๆ ตีข้อความให้เป็นรูปร่างที่เหมาะสม
คำเปรียบเทียบนี้อธิบายได้ว่าทำไมผู้ใช้บางคนจึงพบว่าแนวคิด modal editing ไม่เข้ากับโมเดลการแก้ไขของ Emacs ในขณะที่ Vim ส่งเสริมให้แต่งคำสั่งแก้ไขเหมือนวลีดนตรี Emacs แบบดั้งเดิมมุ่งเน้นไปที่การเลือกเครื่องมือที่เหมาะสมสำหรับการใช้งานทันที
การทดลองอย่างต่อเนื่องกับแพ็กเกจอย่าง Meow และ god-mode แสดงถึงความพยายามของชุมชนที่จะก้าวผ่านสิ่งที่บางคนมองว่าเป็นการปรับให้เหมาะสมในระดับท้องถิ่นรอบๆ การแก้ไขแบบ Vi ดั้งเดิม เพื่อสำรวจความเป็นไปได้ใหม่ๆ สำหรับการจัดการข้อความที่มีประสิทธิภาพ
อ้างอิง: Meow