การเปิดตัวของ Scooter ซึ่งเป็นแอปพลิเคชันส่วนติดต่อผู้ใช้แบบโต้ตอบสำหรับค้นหาและแทนที่บนเทอร์มินัล ได้จุดประกายให้เกิดการถกเถียงที่น่าสนใจในชุมชนนักพัฒนาเกี่ยวกับวิวัฒนาการของเครื่องมือจัดการข้อความและบทบาทของมันเมื่อเทียบกับโปรแกรมแก้ไขแบบดั้งเดิม
คุณสมบัติหลัก:
- อินเตอร์เฟซค้นหาและแทนที่แบบโต้ตอบ
- รองรับรูปแบบข้อความแบบตายตัวและ regex
- ทำงานร่วมกับไฟล์ .gitignore และ .ignore
- รองรับการจับกลุ่มคำค้นหาและแทนที่
- รองรับการจับคู่รูปแบบพาธของไฟล์
- ตรวจสอบการเปลี่ยนแปลงก่อนการแทนที่
เครื่องมือ CLI สมัยใหม่ vs วิธีการแบบดั้งเดิม
การตอบรับของชุมชนนักพัฒนาต่อ Scooter สะท้อนให้เห็นแนวโน้มที่เพิ่มขึ้นของเครื่องมือคำสั่งเฉพาะทางที่นำเสนอส่วนติดต่อแบบโต้ตอบที่ทันสมัย ในขณะที่ยังคงรักษาประสิทธิภาพของการทำงานบนเทอร์มินัล ในขณะที่นักพัฒนาบางคนสนับสนุนวิธีการแบบดั้งเดิมโดยใช้ vim, sed หรือ awk แต่คนอื่นๆ ก็ยินดีต้อนรับเครื่องมือที่ใช้งานง่ายกว่าโดยไม่จำเป็นต้องใช้คำสั่งที่ซับซ้อนหรือความรู้เชิงลึกเกี่ยวกับโปรแกรมแก้ไข
ตอนนี้ผมใช้
sad
สำหรับงานนี้ ถ้าคุณเป็นผู้ใช้ fzf อยู่แล้ว คุณควรลองใช้มันดู
ข้อกังวลเรื่องการติดตั้งและการเข้าถึง
ประเด็นสำคัญในการอภิปรายคือเรื่องวิธีการติดตั้ง สมาชิกในชุมชนได้แสดงความกังวลเกี่ยวกับการที่ Scooter ต้องพึ่งพา Cargo ในการติดตั้ง โดยระบุว่าไม่ใช่ทุกคนจะมี Rust toolchain ติดตั้งอยู่ มีการผลักดันอย่างมากให้มีตัวเลือกการติดตั้งที่เข้าถึงได้ง่ายขึ้น โดยเฉพาะผ่านตัวจัดการแพ็คเกจอย่าง Homebrew สำหรับผู้ใช้ macOS ซึ่งอาจช่วยให้มีผู้ใช้งานมากขึ้น
วิธีการติดตั้ง:
- Cargo:
cargo install scooter
- ซอร์สโค้ด:
cargo install --path .
- มีการร้องขอ: รองรับ Homebrew (อยู่ระหว่างดำเนินการ)
การพัฒนาทางเทคนิคและประสิทธิภาพ
การพัฒนาทางเทคนิคของเครื่องมือนี้ได้ดึงดูดความสนใจจากนักพัฒนาที่ให้ความสำคัญกับประสิทธิภาพ แม้ว่าบางคนจะคิดว่ามันใช้ ripgrep สำหรับการท่องไปในไฟล์ แต่ Scooter จริงๆ แล้วใช้ 'ignore' crate ซึ่งใช้ walkdir สำหรับการทำงานแบบ single-threaded และมีการจัดการไดเรกทอรีแบบขนานสำหรับสถานการณ์ multi-threaded การเลือกใช้วิธีนี้ช่วยให้มั่นใจว่าสามารถทำงานร่วมกับไฟล์ .gitignore และ .ignore ได้ในขณะที่ยังคงรักษาประสิทธิภาพที่ดี
การถกเถียงเรื่องการผสานกับโปรแกรมแก้ไข
เกิดการถกเถียงเชิงปรัชญาที่น่าสนใจเกี่ยวกับความสัมพันธ์ระหว่างเครื่องมือแบบสแตนด์อโลนกับโปรแกรมแก้ไขข้อความ ในขณะที่นักพัฒนาบางคนโต้แย้งว่าฟังก์ชันเหล่านี้มีอยู่แล้วในโปรแกรมแก้ไขอย่าง Emacs คนอื่นๆ กลับเถียงว่าการมีเครื่องมือแบบสแตนด์อโลนช่วยส่งเสริมความยืดหยุ่นและอนุญาตให้ผู้ใช้คงสภาพแวดล้อมการแก้ไขที่พวกเขาชื่นชอบได้ สิ่งนี้สะท้อนให้เห็นการถกเถียงที่กว้างขึ้นเกี่ยวกับการผสานรวมเครื่องมือกับการแยกส่วนในระบบนิเวศของนักพัฒนา
การตอบรับของชุมชนต่อ Scooter สะท้อนให้เห็นแนวโน้มที่ใหญ่ขึ้นในเครื่องมือสำหรับนักพัฒนา: ความสมดุลระหว่างการรักษาปรัชญา Unix แบบดั้งเดิมไว้ในขณะที่ยอมรับการปรับปรุงประสบการณ์ผู้ใช้สมัยใหม่ ในขณะที่ขั้นตอนการพัฒนายังคงพัฒนาต่อไป เครื่องมืออย่าง Scooter แสดงให้เห็นว่าส่วนติดต่อแบบโต้ตอบสามารถเสริมแทนที่จะแทนที่เครื่องมือที่มีอยู่เดิม
แหล่งอ้างอิง: scooter: แอปพลิเคชันส่วนติดต่อผู้ใช้แบบโต้ตอบสำหรับค้นหาและแทนที่บนเทอร์มินัล