โปรแกรมแก้ไขข้อความแบบ Vim-Like ชื่อ McWig ที่เขียนด้วย Go สร้างการอภิปรายในชุมชนเกี่ยวกับความสามารถในการขยายและฟีเจอร์สมัยใหม่

ทีมบรรณาธิการ BigGo
โปรแกรมแก้ไขข้อความแบบ Vim-Like ชื่อ McWig ที่เขียนด้วย Go สร้างการอภิปรายในชุมชนเกี่ยวกับความสามารถในการขยายและฟีเจอร์สมัยใหม่

โปรแกรมแก้ไขข้อความแบบ modal ตัวใหม่ชื่อ McWig ได้ดึงดูดความสนใจจากนักพัฒนา สร้างการอภิปรายที่สำคัญเกี่ยวกับอนาคตของโปรแกรมแก้ไขโค้ดแบบ terminal-based ที่สร้างขึ้นด้วย Go เป็นโปรเจกต์ speed run ตัวแก้ไขที่ได้รับแรงบันดาลใจจาก Vim ตัวนี้ผสมผสานการแก้ไขแบบ modal แบบดั้งเดิมเข้ากับฟีเจอร์สมัยใหม่อย่างการรองรับ LSP และการแยกวิเคราะห์ tree-sitter

โปรเจกต์นี้แสดงให้เห็นแนวทางที่น่าสนใจในการพัฒนาโปรแกรมแก้ไขข้อความ ซึ่งผู้สร้างให้ความสำคัญกับการสำรวจมากกว่าการวางแผนอย่างรอบคอบ ปัจจุบัน McWig รองรับเฉพาะไฟล์ Go เท่านั้น แต่มีฟีเจอร์ที่นักพัฒนาหลายคนคาดหวังจากโปรแกรมแก้ไขสมัยใหม่ พร้อมทั้งรักษาระบบ keybinding ของ Vim ที่คุ้นเคยซึ่งผู้ใช้ขั้นสูงชื่นชอบ

คุณสมบัติหลักของ Text Editor McWig :

  • LSP autocomplete, goto definition, hover info
  • รองรับการไฮไลต์ syntax ด้วย Tree-sitter
  • ธีมสีที่นำมาจาก Helix editor
  • รองรับ Macro
  • ฟังก์ชันการทำงานแบบ org-mode ของ Emacs
  • การแก้ไขแบบ Modal พร้อม Vim keybindings
  • ปัจจุบันรองรับเฉพาะไฟล์ Go เท่านั้น

ชุมชนให้ความสำคัญกับความสามารถในการขยายและระบบ Plugin

ประเด็นที่โดดเด่นที่สุดในการอภิปรายของชุมชนมุ่งเน้นไปที่ความสามารถในการขยายและการรองรับ plugin นักพัฒนาหลายคนได้ตั้งคำถามเกี่ยวกับวิธีที่ McWig อาจจัดการกับการปรับแต่งเมื่อเปรียบเทียบกับโปรแกรมแก้ไขที่มีชื่อเสียงอย่าง Vim และ Emacs ความกังวลนี้สะท้อนให้เห็นความเข้าใจในวงกว้างว่าโปรแกรมแก้ไขข้อความที่ประสบความสำเร็จต้องมีระบบ extension ที่แข็งแกร่งเพื่อสร้างระบบนิเวศที่เจริญรุ่งเรือง

การอภิปรายนี้เน้นย้ำถึงความท้าทายสำคัญสำหรับโปรแกรมแก้ไขใหม่ ๆ คือการตัดสินใจว่าจะสร้างระบบ plugin ใหม่หมดเลย หรือจะใช้ประโยชน์จากระบบนิเวศที่มีอยู่แล้ว สมาชิกชุมชนบางคนแนะนำว่าโปรแกรมแก้ไขสมัยใหม่ควรหาวิธีใช้ plugin จากแพลตฟอร์มที่มีชื่อเสียงแทนการเริ่มต้นใหม่ทั้งหมด โดยตระหนักถึงความพยายามอย่างมหาศาลที่ต้องใช้ในการสร้างไลบรารี extension ที่ครอบคลุม

การนำไปใช้งานทางเทคนิคดึงดูดความสนใจ

แง่มุมทางเทคนิคหลายประการของ McWig ได้ดึงดูดความสนใจจากนักพัฒนา การใช้ diff สำหรับฟังก์ชัน undo/redo ได้รับการสังเกตเป็นพิเศษว่าเป็นแนวทางที่ชาญฉลาดในการจัดการ state รายละเอียดการนำไปใช้งานนี้แสดงให้เห็นว่าโปรแกรมแก้ไขที่แตกต่างกันสามารถแก้ปัญหาทั่วไปด้วยวิธีการทางเทคนิคที่สร้างสรรค์

การรวม development tools สมัยใหม่อย่าง Language Server Protocol (LSP) และการแยกวิเคราะห์ tree-sitter ของตัวแก้ไขแสดงให้เห็นว่าโปรเจกต์ใหม่สามารถได้รับประโยชน์จากโปรโตคอลมาตรฐานได้อย่างไร ฟีเจอร์เหล่านี้ช่วยให้ McWig สามารถให้บริการ autocomplete, syntax highlighting และการนำทางโค้ดโดยไม่ต้องนำ logic เฉพาะภาษามาใช้ใหม่

การเปรียบเทียบกับโปรแกรมแก้ไขที่มีอยู่

สมาชิกชุมชนได้เปรียบเทียบระหว่าง McWig กับโปรแกรมแก้ไขแบบ terminal-based อื่น ๆ โดยเฉพาะ Helix นักพัฒนาบางคนกล่าวถึงการใช้ Helix เป็นเครื่องมือหลักในการทำงานประจำวัน พร้อมทั้งแสดงความสนใจในการทดลองใช้ McWig การตัดสินใจของโปรเจกต์ในการยืม color themes จาก Helix ยังได้สร้างแรงบันดาลใจให้กับนักพัฒนาคนอื่น ๆ ที่กำลังทำงานกับเครื่องมือที่คล้ายกัน

การอภิปรายเผยให้เห็นว่าภูมิทัศน์ของโปรแกรมแก้ไข terminal ยังคงพัฒนาต่อไป โดยมีโปรเจกต์ใหม่ ๆ ที่สร้างขึ้นจากบทเรียนที่ได้เรียนรู้จากผู้มาก่อน โปรแกรมแก้ไขใหม่แต่ละตัวนำเสนอแนวทางที่แตกต่างกันในการแก้ปัญหาทั่วไป ซึ่งมีส่วนช่วยในการพัฒนาเครื่องมือการพัฒนาโดยรวม

คีย์ผูกที่สำคัญ:

การกดปุ่ม ฟังก์ชัน
Tab องค์ประกอบถัดไปในป๊อปอัป
Shift-Tab องค์ประกอบก่อนหน้าในป๊อปอัป
Space + f ค้นหาไฟล์ในโปรเจ็กต์ Git
Space + b บัฟเฟอร์
Space + s + s ค้นหาข้อความแบบฟัซซี่
Ctrl-W + V แยกหน้าต่าง
Space + \ สลับไฟล์
Space + / ค้นหาข้อความในโปรเจ็กต์
ภาพหน้าจอของหน้า repository บน GitHub สำหรับโปรเจกต์ McWig ที่แสดงโครงสร้างและประวัติการ commit ซึ่งเกี่ยวข้องกับการเปรียบเทียบกับโปรแกรมแก้ไขข้อความอื่นๆ
ภาพหน้าจอของหน้า repository บน GitHub สำหรับโปรเจกต์ McWig ที่แสดงโครงสร้างและประวัติการ commit ซึ่งเกี่ยวข้องกับการเปรียบเทียบกับโปรแกรมแก้ไขข้อความอื่นๆ

การยอมรับจากนักพัฒนาและศักยภาพในอนาคต

แม้จะถูกติดป้ายว่าเป็นโปรเจกต์ toy ที่มี bug ที่ยอมรับแล้ว แต่ McWig ได้สร้างความสนใจอย่างแท้จริงจากนักพัฒนาที่เต็มใจทดสอบและอาจยอมรับเครื่องมือใหม่ ความโปร่งใสของผู้สร้างเกี่ยวกับข้อจำกัดปัจจุบันของตัวแก้ไข รวมถึงคำเตือนเกี่ยวกับความเสียหายที่อาจเกิดขึ้นกับไฟล์ ได้รับการตอบรับที่ดีจากชุมชน

การตอบรับในเชิงบวกแสดงให้เห็นว่ายังคงมีความต้องการนวัตกรรมในโปรแกรมแก้ไขข้อความอย่างต่อเนื่อง แม้ในพื้นที่ที่ถูกครอบงำโดยเครื่องมือที่มีชื่อเสียง นักพัฒนาชื่นชมการได้เห็นแนวทางใหม่ ๆ ในการแก้ปัญหาที่คุ้นเคย และเต็มใจที่จะทดลองกับโปรเจกต์ในระยะเริ่มต้นที่แสดงให้เห็นถึงความหวัง

การเดินทางของ McWig จากโปรเจกต์ทดลองสู่โปรแกรมแก้ไขที่อาจใช้ในการทำงานประจำวันแสดงให้เห็นว่าการพัฒนาแบบเปิดและข้อเสนอแนะจากชุมชนสามารถชี้นำวิวัฒนาการของซอฟต์แวร์ได้อย่างไร แผนของผู้สร้างในการพัฒนาสิ่งนี้ให้เป็นโปรแกรมแก้ไขที่เสถียรและมีฟีเจอร์ครบครันน่าจะขึ้นอยู่กับการมีส่วนร่วมและการมีส่วนร่วมของชุมชนอย่างต่อเนื่อง

อ้างอิง: McWig (temporary name)