ทีมชุมชน BigGo
Meow Modal Editor จุดประกายการถกเถียงเรื่อง Vim กับ Kakoune Editing Models ใน Emacs

ชุมชน 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