มีreadline
ฟังก์ชั่นที่อาจจะไม่ผูกพันกับการกดแป้นที่เรียกkill-whole-line
ว่าจะฆ่าทั้งบรรทัดเมื่อเทียบกับการฆ่าเฉพาะส่วนก่อนเคอร์เซอร์ ( unix-line-discard
ซึ่งค่อนข้างเป็นชื่อเรียกผิดและถูกผูกไว้กับCtrl- u)
คุณสามารถผูกกับการกดแป้นพิมพ์ที่มีอยู่ ฉันชอบShiftAlt- Uเพราะมันเป็นฟังก์ชั่นที่เกี่ยวข้อง การกดแป้นนั้นอาจถูกผูกไว้do-lowercase-version
ซึ่งหมายความว่ามันจะทำสิ่งที่รุ่น unshifted ทำ (ในกรณีนี้upcase-word
) เนื่องจากเราไม่จำเป็นต้องใช้สองปุ่มในการทำเช่นนั้นลองใช้ปุ่มนั้น
คุณสามารถลองได้ที่บรรทัดคำสั่งโดยสร้างการเชื่อมด้วยวิธีนี้:
bind '"\eU":kill-whole-line'
หรือทำให้ถาวรโดยการวางบรรทัดนี้ใน~/.inputrc
ไฟล์ของคุณ:
"\eU":kill-whole-line
หากต้องการยกเลิกCtrl- uหรือShiftAlt- U(หรือการดำเนินการใด ๆ ที่สามารถเลิกทำได้) ให้กดCtrl- Shift- _(ขีดล่าง) หรือCtrl- x Ctrl- u(การกดแป้นสองครั้ง) หรือคุณสามารถวางกลับ (งัด) สิ่งที่คุณฆ่าโดยการกดCtrl- yซึ่งสามารถทำซ้ำได้หากคุณต้องการสำเนาของข้อความนั้นหลายชุด
โดยวิธีการที่ถ้าคุณต้องการที่จะฆ่าข้อความจากเคอร์เซอร์ไปยังจุดสิ้นสุดของบรรทัดที่คุณสามารถกด-Ctrl kดังนั้นแทนที่จะทำผูกพันอธิบายไว้ข้างต้นคุณสามารถฆ่าสายทั้งโดยการกดCtrl- -u Ctrl kเฉพาะส่วนที่ถูกฆ่าโดยการกดแป้นครั้งที่สองเท่านั้นที่จะถูกบันทึกในบัฟเฟอร์การฆ่า แต่คุณยังสามารถเลิกทำสองครั้งเพื่อกู้คืนทั้งสอง