เครื่องมือบรรทัดคำสั่ง bat
กำลังสร้างการอภิปรายอย่างมีนัยสำคัญในหมู่นักพัฒนาในฐานะตัวแทนสมัยใหม่สำหรับเครื่องมือ Unix แบบดั้งเดิมอย่าง cat
และ less
เครื่องมือที่พัฒนาด้วย Rust นี้นำเสนอการเน้นไวยากรณ์ การรวมเข้ากับ Git และการแบ่งหน้าอัตโนมัติสำหรับการดูไฟล์ ทำให้มีความน่าสนใจเป็นพิเศษสำหรับนักพัฒนาที่ใช้เวลามากในสภาพแวดล้อม terminal
การเปรียบเทียบคุณสมบัติหลัก
คุณสมบัติ | bat | cat | less |
---|---|---|---|
การเน้นไวยากรณ์ | ✓ | ✗ | ✗ |
การรวมกับ Git | ✓ | ✗ | ✗ |
การแบ่งหน้าอัตโนมัติ | ✓ | ✗ | ✓ |
หมายเลขบรรทัด | ✓ | ✗ | ✗ |
การแสดงอักขระที่พิมพ์ไม่ได้ | ✓ | ✗ | ✗ |
การปรับแต่งธีม | ✓ | ✗ | ✗ |
การอภิปรายเรื่องการเขียนใหม่ด้วย Rust
การอภิปรายเกี่ยวกับ bat
ได้จุดประกายการสนทนาเกี่ยวกับแนวโน้มที่กว้างขึ้นของการเขียนเครื่องมือ Unix ที่มีอยู่แล้วใหม่ด้วย Rust แม้ว่านักพัฒนาบางคนจะแสดงความสงสัยเกี่ยวกับการเขียนใหม่เหล่านี้ แต่ชุมชนดูเหมือนจะมีความคิดเห็นเชิงบวกเกี่ยวกับ bat
โดยเฉพาะ เครื่องมือนี้ถูกกล่าวถึงบ่อยครั้งควบคู่กับ ripgrep
ในฐานะตัวอย่างของการเขียนใหม่ด้วย Rust ที่ปรับปรุงตัวก่อนหน้าอย่างแท้จริงแทนที่จะเพียงทำซ้ำฟังก์ชันการทำงาน
Ripgrep และ bat เป็นข้อยกเว้นตรงที่พวกมันเป็นการทำให้ทันสมัยในทุกความหมายของคำนี้ พวกมันปลอดภัยกว่า มีฟีเจอร์ที่ทันสมัยกว่า และค่าเริ่มต้นที่ดีกว่า
การอภิปรายนี้เน้นย้ำถึงความแตกต่างที่สำคัญระหว่างการเขียนใหม่ที่เพียงเปลี่ยนภาษาการใช้งานกับการเขียนใหม่ที่นำมาซึ่งการปรับปรุงที่มีความหมายต่อประสบการณ์ผู้ใช้และฟังก์ชันการทำงาน
เครื่องมือที่เกี่ยวข้องจากนักพัฒนาคนเดียวกัน
- fd: ทางเลือกสมัยใหม่สำหรับคำสั่ง
find
- ripgrep (rg): เครื่องมือค้นหาข้อความที่รวดเร็ว ทดแทน
grep
- hexyl: โปรแกรมดู hex ที่มีการแสดงผลแบบสี
- hyperfine: เครื่องมือวัดประสิทธิภาพผ่าน command-line
- numbat: เครื่องคิดเลขทางวิทยาศาสตร์ที่รองรับหน่วยต่างๆ
ข้อได้เปรียบในทางปฏิบัติเหนือเครื่องมือแบบดั้งเดิม
ผู้ใช้ได้ชื่นชม bat
สำหรับการเลือกการออกแบบที่มีความคิดซึ่งแก้ไขจุดเจ็บปวดทั่วไปของโปรแกรมดูไฟล์แบบดั้งเดิม เครื่องมือนี้ตรวจจับประเภทไฟล์โดยอัตโนมัติผ่านนามสกุลและบรรทัด shebang ใช้การเน้นไวยากรณ์ที่เหมาะสม และรวมเข้ากับ repository Git อย่างราบรื่นเพื่อแสดงการแก้ไขไฟล์ พฤติกรรมการแบ่งหน้าอัตโนมัติปรับตัวอย่างชาญฉลาดตามปลายทางของผลลัพธ์และขนาดไฟล์
ความสามารถของเครื่องมือในการแสดงอักขระที่ไม่สามารถพิมพ์ได้และช่องว่างทำให้มีคุณค่าเป็นพิเศษสำหรับการ debug ไฟล์การกำหนดค่าและสคริปต์ นอกจากนี้ ฟีเจอร์อย่างการเลือกช่วงบรรทัดและการปรับแต่งธีมให้ความยืดหยุ่นที่เครื่องมือแบบดั้งเดิมขาด
ตัวอย่างการใช้งานทั่วไป
- การดูไฟล์พื้นฐาน:
bat main.rs
- แสดงช่วงบรรทัด:
bat --line-range 20:30 main.rs
- แสดงธีม:
bat --list-themes
- บังคับการตรวจจับภาษา:
cat file.txt | bat --language rust
- แสดงผลแบบธรรมดา:
bat --plain file.txt
- แสดงอักขระที่ไม่สามารถพิมพ์ได้:
bat --show-nonprintable file.txt
ข้อจำกัดเล็กน้อยและทางเลือกอื่น
แม้จะได้รับคำชมอย่างกว้างขวาง แต่ผู้ใช้บางคนได้สังเกตข้อจำกัดเฉพาะ พฤติกรรมการตัดบรรทัดได้ถูกกล่าวถึงเป็นจุดที่สร้างความเสียดสี แม้ว่าจะมีตัวเลือกการกำหนดค่าเพื่อแก้ไขปัญหานี้ ชุมชนยังได้อภิปรายเครื่องมือทางเลือกอย่าง GNU Source-highlight สำหรับผู้ใช้ที่ต้องการโซลูชันที่มีการยอมรับมากกว่า แม้ว่า bat
ดูเหมือนจะเสนอชุดฟีเจอร์ที่ครอบคลุมกว่าทันทีที่ติดตั้ง
บทสรุป
การตอบรับเชิงบวกของ bat
แสดงให้เห็นว่าการทำให้ทันสมัยของเครื่องมือ Unix คลาสสิกที่ดำเนินการได้ดีสามารถได้รับการยอมรับอย่างแท้จริงเมื่อพวกมันให้คุณค่าที่ชัดเจนเหนือการใช้งานต้นฉบับ ขณะที่สภาพแวดล้อมการพัฒนายังคงพัฒนาต่อไป เครื่องมืออย่าง bat
แสดงให้เห็นว่าการออกแบบที่มีความคิดและภาษาโปรแกรมมิ่งสมัยใหม่สามารถเพิ่มประสิทธิภาพเวิร์กโฟลว์ประจำวันได้โดยไม่สูญเสียความเรียบง่ายที่ทำให้เครื่องมือบรรทัดคำสั่งมีประสิทธิภาพ
อ้างอิง: Features