เท็กซ์เอดิเตอร์ Helix กำลังดึงดูดนักพัฒนาจำนวนมากขึ้นที่ต้องการทางเลือกสมัยใหม่แทนเอดิเตอร์แบบดั้งเดิมอย่าง Vim และ VS Code สร้างขึ้นด้วย Rust โดย Helix เสนอประสบการณ์การแก้ไขแบบ terminal-based พร้อมการรองรับ language server ในตัวและโมเดลการแก้ไขแบบ selection-first ที่ไม่ซ้ำใครซึ่งหลายคนพบว่าเรียนรูได้ง่ายกว่าแนวทางของ Vim
คุณสมบัติหลักของ Helix Editor :
- สร้างด้วยภาษาโปรแกรม Rust
- โปรแกรมแก้ไขแบบ modal ที่ทำงานใน terminal
- รูปแบบการแก้ไขแบบเลือกก่อน (เลือกข้อความก่อน แล้วจึงดำเนินการ)
- รองรับ Language Server Protocol (LSP) ในตัว
- ไฮไลต์ syntax ด้วย Tree-sitter
- ไม่มีระบบ plugin (อยู่ระหว่างการพัฒนา)
- ค้นหาไฟล์แบบ fuzzy ด้วย
<space>+f
- จัดการ buffer ด้วย
<space>+b
- เปิดดู file explorer ด้วย
<space>+e
ประสบการณ์การใช้งานที่ดีทันทีดึงดูดผู้ใช้
นักพัฒนาจำนวนมากชื่นชม Helix ที่ทำงานได้ดีโดยไม่ต้องตั้งค่าอะไรมากมาย เอดิเตอร์จะตรวจจับและใช้ language server ที่ติดตั้งในระบบโดยอัตโนมัติ โดยให้ฟีเจอร์อย่างการเติมโค้ดอัตโนมัติและการไฮไลต์ข้อผิดพลาดโดยไม่ต้องตั้งค่าปลั๊กอิน แนวทางแบบมีทุกอย่างครบในตัวนี้ได้รับใจผู้ใช้ที่เหนื่อยกับการใช้เวลาหลายชั่วโมงในการตั้งค่า Neovim หรือจัดการกับระบบปลั๊กอินที่ซับซ้อน
ผู้ใช้ Vim มานานรายงานว่าสามารถเปลี่ยนมาใช้ Helix ได้สำเร็จภายในไม่กี่สัปดาห์ โดยพบว่าโมเดล selection-first มีความเข้าใจง่ายกว่าแนวทาง action-first ของ Vim เอดิเตอร์แสดงผลป้อนกลับแบบภาพสำหรับการเลือกก่อนที่จะดำเนินการ ทำให้ผู้เริ่มต้นเข้าใจได้ง่ายขึ้นว่าจะเกิดอะไรขึ้น
ระบบปลั๊กอินยังคงเป็นส่วนที่ขาดหายไปที่สำคัญที่สุด
การขาดระบบปลั๊กอินยังคงเป็นข้อจำกัดที่สำคัญที่สุดของ Helix ผู้ใช้มักกล่าวถึงฟีเจอร์ที่ขาดหายไปเช่น terminal แบบรวมในตัว การจัดการไฟล์ขั้นสูง และการรองรับภาษาเฉพาะทางที่โดยปกติจะมาจากปลั๊กอินในเอดิเตอร์อื่น ๆ แม้ว่าทีมพัฒนาจะกำลังทำงานเกี่ยวกับการรองรับปลั๊กอินโดยใช้ระบบที่ใช้ Scheme แต่ความคืบหน้าช้ากว่าที่ผู้ใช้บางคนต้องการ
ผมชอบ Helix ผมไม่สามารถใช้ Neovim ได้หลังจากลองหลายครั้ง แต่ Helix ให้ผมเข้าสู่โลกของ modal editor ใช้งานได้เลย ไม่ต้องตั้งค่าอะไร และโมเดลการแก้ไขของพวกเขาดีกว่าสำหรับผู้เริ่มต้นเพราะคุณสามารถเห็นสิ่งที่คุณกำลังจะทำ
ความเร็วในการพัฒนาจุดประกายการถกเถียงในชุมชน
สมาชิกชุมชนบางคนแสดงความผิดหวังกับความเร็วในการพัฒนาของ Helix โดยเฉพาะเมื่อเปรียบเทียบกับเอดิเตอร์ที่พัฒนาอย่างรวดเร็วอย่าง Zed ฟีเจอร์หลักที่ผู้ใช้ขอมานานกว่าสองปียังไม่ได้รับการพัฒนา และผู้ดูแลมีการคัดเลือกในการรับการมีส่วนร่วมที่ไม่สอดคล้องกับวิสัยทัศน์ของพวกเขา
อย่างไรก็ตาม ผู้ใช้คนอื่น ๆ ชื่นชมแนวทางที่ระมัดระวังนี้ โดยโต้แย้งว่ามันป้องกันการบวมของฟีเจอร์และรักษาปรัชญาการออกแบบที่มุ่งเน้นของเอดิเตอร์ ทีมพัฒนาให้ความสำคัญกับความเสถียรและการออกแบบที่สอดคล้องกันมากกว่าการเพิ่มฟีเจอร์อย่างรวดเร็ว
ข้อจำกัดของ Terminal สร้างความท้าทายในเวิร์กโฟลว์
การทำงานใน terminal ทั้งหมดมีทั้งข้อดีและข้อจำกัด ในขณะที่ Helix ทำงานได้อย่างมีประสิทธิภาพและรวมเข้ากับเวิร์กโฟลว์ command-line ได้ดี ผู้ใช้ต้องปรับตัวกับข้อจำกัดของ terminal เช่น การเรนเดอร์แบบตัวอักษรและการจัดการหน้าต่างที่จำกัด นักพัฒนาจำนวนมากแก้ปัญหานี้โดยใช้ terminal multiplexer หรือแท็บ terminal หลายแท็บเพื่อจัดการงานอย่างการรันเทสต์หรือจัดการการดำเนินการ Git
เอดิเตอร์เพิ่งเพิ่มฟีเจอร์ file explorer แม้ว่าจะขาดการดำเนินการไฟล์ขั้นสูงเช่นการย้ายหรือลบไฟล์ ทำให้ผู้ใช้ต้องพึ่งพาคำสั่ง terminal สำหรับงานเหล่านี้
วิธีการติดตั้ง:
- macOS:
brew install helix
- Linux: สามารถติดตั้งผ่าน package managers
- Windows: สามารถติดตั้งผ่าน package managers
- Source: คอมไพล์จาก GitHub repository
การใช้งานพื้นฐาน:
hx path/to/file
- เปิดไฟล์ที่ระบุhx path/to/folder
- เปิดในโหมดโปรเจกต์hx
- เริ่มต้นด้วย scratchpad เปล่า
แนวโน้มอนาคตยังคงเป็นบวก
แม้จะมีข้อจำกัดในปัจจุบัน นักพัฒนาจำนวนมากยังคงใช้ Helix เป็นเอดิเตอร์หลักและแนะนำให้ผู้อื่นที่แสวงหาประสบการณ์การแก้ไขแบบ modal ที่ทันสมัย ระบบปลั๊กอินที่กำลังจะมาถึงสามารถแก้ไขข้อบกพร่องในปัจจุบันได้หลายอย่าง แม้ว่าไทม์ไลน์สำหรับการเสร็จสิ้นจะยังไม่แน่นอน สำหรับผู้ใช้ที่ให้ความสำคัญกับความเรียบง่ายและไม่ต้องการการปรับแต่งที่กว้างขวาง Helix ให้ทางเลือกที่น่าสนใจแทนเอดิเตอร์ที่ซับซ้อนกว่าแล้ว
อ้างอิง: Helix: Why (And How) I Use It