- Fish เป็นเชลล์บรรทัดคำสั่งที่ใช้งานเป็นมิตรสำหรับ macOS, Linux และระบบปฏิบัติการตระกูล Unix อื่น ๆ
- ตั้งแต่ 4.0.0 เป็นต้นไป โค้ดแกนหลักของ Fish ถูก พอร์ตจาก C++ ไปเป็น Rust
- สิ่งนี้ทำให้เกิดการเปลี่ยนแปลงครั้งใหญ่ในด้าน dependency และวิธีการบิลด์ แต่ไม่มีผลกระทบโดยตรงต่อผู้ใช้
- การเปลี่ยนแปลงที่ไม่เข้ากันย้อนหลัง:
- เพิ่มรูปแบบการเขียนคีย์ใหม่สำหรับคำสั่ง
bind
- ตอนนี้
ctrl-c จะเรียก clear-commandline และพฤติกรรมเดิมยังใช้งานได้ผ่าน cancel-commandline
- ผลลัพธ์ของฟังก์ชัน
random ตามค่า seed อาจแตกต่างจากเวอร์ชันก่อนหน้า
- ตัวแปรที่อยู่ในตำแหน่งคำสั่งจะไม่สามารถขยายเป็นคีย์เวิร์ดของ subcommand ได้อีกต่อไป
- ตอนนี้
functions --handlers จะแสดงรายการ handler ตามลำดับที่ถูกกำหนดไว้
- ฟีเจอร์
qmark-noglob ถูกเปิดใช้งานเป็นค่าเริ่มต้น
การปรับปรุงและการแก้ไข
- โปรโตคอลคีย์บอร์ด: รองรับ
modifyOtherKeys ของ XTerm และโปรโตคอลคีย์บอร์ดของ kitty
- ไบนารีติดตั้งได้ในตัว: สามารถบิลด์ fish เป็นไบนารีที่ติดตั้งได้ด้วยตัวเอง
- ประวัติคำสั่ง: ใช้ฟังก์ชัน
fish_should_add_to_history เพื่อตัดสินใจว่าคำสั่งใดควรถูกเพิ่มลงใน history
- ฟีเจอร์ย้อนกลับ: history จะยังคงอยู่แม้หลังจากรันคำสั่งแล้ว
- การจำกัดตัวย่อ: สามารถขยายตัวย่อได้เฉพาะกับบางคำสั่งเท่านั้น
ฟีเจอร์ที่ไม่แนะนำและถูกถอดออก
commandline --tokenize ถูกแทนที่ด้วย commandline --tokens-expanded
- การระบุชื่อคีย์ผ่านไวยากรณ์
bind -k ไม่ได้รับการแนะนำอีกต่อไป
- โหมดวางถูกถอดออกแล้ว
การปรับปรุงด้านสคริปต์
- คำสั่ง history ใหม่: สามารถใช้
history append เพื่อเพิ่มคำสั่งลงใน history โดยไม่ต้องรันคำสั่ง
- การ redirect แบบใหม่: `
1 ความคิดเห็น
ความเห็นจาก Hacker News
clear-commandlineเป็นฟีเจอร์ที่น่าสนใจcancel-commandline