การใช้^W
(unix-word-rubout) ฉันสามารถลบ "word" เดียวจากคำสั่งปัจจุบันใน bash shell ของฉันได้อย่างง่ายดาย
อย่างไรก็ตามเมื่อจัดการกับข้อโต้แย้งที่ยกมาที่มีช่องว่าง (หรือข้อโต้แย้งที่ไม่มีเครื่องหมายอัญประกาศที่มีช่องว่างที่หลบหนีแบ็กสแลช) นี้ไม่ได้ทำงานได้ดีเพราะมันจะลบเพียงหนึ่งคำและไม่ใช่อาร์กิวเมนต์ทั้งหมด
ดังนั้นฉันกำลังมองหาวิธีลบอาร์กิวเมนต์ทั้งหมด
ตัวอย่าง (เคอร์เซอร์อยู่ที่ท้ายเสมอ):
$ foo --bar "foo bar" meow
[black magic]
$ foo --bar "foo bar"
[black magic]
$ foo --bar
[black magic]
$ foo
จะเปลี่ยนเป็นตัวเลือก zsh หรือไม่? (ฉันไม่ทราบวิธีที่จะทำใน zsh ทั้งสองแบบ offhand แต่ก็มีบางบรรทัดคำสั่งแยกวิเคราะห์รหัสที่สามารถเข้าถึงได้เพื่อแก้ไขบรรทัด (หรืออย่างน้อยระบบเสร็จสมบูรณ์) ดังนั้นควรทำให้ง่ายขึ้น)
—
Gilles 'หยุดความชั่วร้าย'