แก้ไขบรรทัดคำสั่งเป็นฟังก์ชั่นของเปลือกของคุณไม่ใช่ของเทอร์มิ อาจเชลล์ของคุณเป็นทุบตีและสไตล์การแก้ไขบรรทัดคำสั่งอาจถูกตั้งค่าเป็น "emacs"
ต่อไปนี้เป็นชุดของแป้นแบบ Emacs ที่คุณอาจพบว่ามีประโยชน์:
- Ca:
beginning-of-line
- Ce:
end-of-line
- Mf:
forward-word
- Mb:
backward-word
- cd:
delete-char
- Md:
kill-word
(ลบ 'คำ' ถัดไป)
- M-DEL:
backward-kill-word
C- xหมายถึงControl+ xดังนั้น Ca เป็น+Controla
M- xหมายถึงMeta+ xแต่อาจไม่มีคีย์ Meta บนแป้นพิมพ์ของคุณ ดังนั้นคุณสามารถใช้ ESC x (เช่นEscapeนั้นx) เทอร์มินัลมีการตั้งค่าให้ส่ง ESC โดยอัตโนมัติก่อนกดปุ่มค้างOptionไว้ การใช้คุณสมบัตินี้จะปิดใช้งานการจัดการอักขระแบบขยายที่ Mac OS X มักจะมีให้เมื่อใช้ตัวเลือกปรับปรุง ดังนั้นหากคุณใช้อักขระเพิ่มเติมจำนวนน้อยและต้องการให้Option+ xส่ง ESC xคุณสามารถเปิดใช้งานตัวเลือกเทอร์มินัลนี้ได้
มีหลายวิธีในการย้ายไปที่“ Hello” ในตัวอย่างของคุณ:
- ค้นหา“ Hello”: Cr H ello Cj (หรือ ESC)
- ใน Emacs ปกติคุณเพียงแค่ใช้ RET ( Return) เพื่อสิ้นสุดการค้นหาที่ตำแหน่งปัจจุบันและกลับสู่การแก้ไข แต่ในbashการเชื่อมโยงเริ่มต้นทำให้ RET (เช่น Cm) รันบรรทัดปัจจุบันเสมอแม้ว่าการค้นหาแบบเพิ่มจะทำงาน ดังนั้นส่วน Cj / ESC คือส่วนเบี่ยงเบนจาก Emacs ปกติ
- ข้ามไปที่จุดเริ่มต้นของบรรทัดและก้าวไปข้างหน้า: Ca Mf Cf (หรือ→)
- ข้ามไปยังจุดเริ่มต้นของบรรทัดจากนั้นเลื่อนไปตามคำ: Ca Mf Mf Mb
- ใช้ Mb มาก (ทำได้จริง ๆ เท่านั้นถ้าคุณแมปตัวเลือกกับ Meta)
นอกจากนี้ยังมีหลายวิธีในการเปลี่ยนทดแทนที่คุณต้องการ:
- ลบคำและแทนที่: Md H i
- ลบตัวอักษรและแทนที่: Cd Cd Cd Cd H i
- เลื่อนผ่าน“ H” แล้วลบงานต่อไปนี้แทนที่: Cf Md i
- เลื่อนผ่าน“ H” และลบอักขระที่เหลือแทนที่: Cf Cd Cd Cd Cd i
หากคุณหยุดที่ท้ายคำ (อาจผ่าน Ca Mf Mf) คุณสามารถใช้ M-DEL H i
คุณอาจทำสิ่งที่ต้องการbind -P | less
ค้นหาการผูกที่น่าสนใจอื่น ๆ ศึกษาส่วนreadlineของหน้าbash man (หรือส่วน readline ของหน้าข้อมูลbash ) สำหรับรายละเอียด