การเปิดตัว Anvil ซึ่งเป็นโปรแกรมแก้ไขข้อความใหม่ที่ได้แรงบันดาลใจจาก Acme ของ Plan 9 ได้จุดประเด็นถกเถียงอย่างเข้มข้นในชุมชนนักพัฒนาเกี่ยวกับรูปแบบการแก้ไขข้อความ โดยเฉพาะในประเด็นการใช้เคอร์เซอร์หลายตัวในการทำงานแก้ไขข้อความแบบสมัยใหม่
โปรแกรมแก้ไข Anvil: การตีความ Acme ในรูปแบบสมัยใหม่
Anvil ปรากฏตัวในฐานะโปรแกรมแก้ไขแบบกราฟิกที่แบ่งหน้าจอได้หลายส่วน ผสมผสานแนวคิดที่เป็นนวัตกรรมของ Acme เข้ากับฟีเจอร์สมัยใหม่ สร้างขึ้นโดยใช้ไลบรารี GIO สำหรับส่วนติดต่อผู้ใช้แบบกราฟิก มาพร้อมกับการไฮไลต์ไวยากรณ์ การแก้ไขไฟล์ระยะไกลผ่าน SSH และ REST API สำหรับการขยายความสามารถ
ข้อถกเถียงเรื่องเคอร์เซอร์หลายตัว
การอภิปรายเกี่ยวกับเคอร์เซอร์หลายตัวได้กลายเป็นประเด็นสำคัญในการถกเถียง โดยนักพัฒนาแบ่งออกเป็นสองฝ่ายอย่างชัดเจน:
ฝ่ายสนับสนุนเคอร์เซอร์หลายตัว
- ให้ผลตอบสนองที่มองเห็นได้ทันทีระหว่างการแก้ไข
- สามารถแก้ไขข้อความหลายตำแหน่งพร้อมกันได้อย่างเป็นธรรมชาติ
- มีประโยชน์อย่างยิ่งสำหรับการจัดการไฟล์ CSV, JSON และข้อความที่มีโครงสร้าง
- ลดภาระการคิดเมื่อเทียบกับการใช้คำสั่ง regex หรือ macro ที่ซับซ้อน
ฝ่ายสนับสนุนวิธีการแบบดั้งเดิม
- ชอบใช้คำสั่งแบบ vim และ regular expressions
- เห็นว่าเครื่องมือเช่นการค้นหาและแทนที่แบบยืนยัน (
:s/foo/bar/gc
) มีประสิทธิภาพมากกว่า - มองว่าเคอร์เซอร์หลายตัวเป็นเพียงลูกเล่นทางภาพ
- เน้นย้ำถึงพลังของการทำงานที่ขับเคลื่อนด้วยแป้นพิมพ์
คุณสมบัติเด่นที่ทำให้ Anvil แตกต่าง
จากข้อมูลเชิงลึกของนักพัฒนา Anvil มีคุณสมบัติพิเศษหลายประการ:
- การแก้ไขระยะไกลที่ดีขึ้น : การผสานรวม SSH อย่างไร้รอยต่อสำหรับการแก้ไขไฟล์ระยะไกล
- Range Statements : ภาษาสำหรับจัดการข้อความที่ใช้ประโยชน์จากส่วนที่เลือกในปัจจุบัน
- การรองรับแป้นพิมพ์ที่ดีขึ้น : ปุ่มเคลื่อนที่มาตรฐานและช็อตคัตทั่วไป
- การค้นหาที่ดีขึ้น : รองรับการค้นหาย้อนหลังและ regexp
- ไวยากรณ์ที่เป็นมิตรกับช่องว่าง : จัดการชื่อไฟล์และคำสั่งที่มีช่องว่างได้ดีขึ้น
- การตอบสนองทางภาพ : การไฮไลต์ด้วยปุ่ม Escape สำหรับข้อความที่พิมพ์ล่าสุด
บริบทที่กว้างขึ้น
การปรากฏตัวของ Anvil สะท้อนให้เห็นแนวโน้มที่ใหญ่ขึ้นในการพัฒนาโปรแกรมแก้ไขข้อความ ที่ซึ่งปรัชญาการใช้งานแบบคอมมานด์ไลน์ดั้งเดิมมาพบกับความคาดหวังของส่วนติดต่อผู้ใช้สมัยใหม่ ในขณะที่นักพัฒนาบางคนยังคงยืนยันว่าการทำงานที่ขับเคลื่อนด้วยแป้นพิมพ์นั้นเหนือกว่า คนอื่นๆ ก็ยอมรับวิธีการแบบผสมผสานที่รวมการใช้เมาส์เข้ากับช็อตคัตบนแป้นพิมพ์
การถกเถียงนี้ชี้ให้เห็นถึงวิวัฒนาการที่กำลังดำเนินอยู่ในเครื่องมือสำหรับนักพัฒนา ซึ่งความท้าทายไม่ได้อยู่ที่การสร้างฟีเจอร์ที่ทรงพลังเท่านั้น แต่ยังรวมถึงการทำให้ฟีเจอร์เหล่านั้นเข้าถึงได้ง่ายและใช้งานได้อย่างเป็นธรรมชาติสำหรับรูปแบบการทำงานที่แตกต่างกัน
หมายเหตุ: โปรแกรมแก้ไขนี้ใช้ฟอนต์ Input เวอร์ชันที่มีลิขสิทธิ์โดย David Jonathan Ross