ย้ายกลับไปที่จุดสิ้นสุดของประวัติทุบตีเมื่อใช้การค้นหาแบบย้อนกลับหรือไม่


12

ฉันเก็บประวัติทุบตีไว้ค่อนข้างนานและบางครั้งเมื่อฉันค้นหาบางอย่างด้วยฟังก์ชันค้นหาย้อนกลับของทุบตี ( Ctrl+ r) ฉันสิ้นสุดที่จุดเริ่มต้นของประวัติการค้นหาและฉันยังไม่พบสิ่งที่ฉันต้องการจากนั้นฉันต้องการย้ายกลับไปยังจุดสิ้นสุด ของไฟล์ประวัติ ทางเลือกหนึ่งคือการใช้ฟังก์ชั่นการค้นหาไปข้างหน้า ( Ctrl+ s) ซึ่งเคลื่อนเข้าใกล้จุดสิ้นสุดของประวัติศาสตร์หรือดำเนินการ#แต่ยังมีแป้นพิมพ์ลัดเพื่อย้ายไปยังจุดสิ้นสุดของประวัติทุบตีโดยตรงหรือไม่


2
historyจะแสดงให้คุณเห็นคำสั่งทุบตีทั้งหมด ..
ryekayo

คำตอบ:


6

มีฟังก์ชัน readline end-of-historyโดยค่าเริ่มต้นถูกแมปไปที่M- >แต่หากใช้ระหว่างการค้นหาย้อนกลับฟังก์ชันจะออกจากพรอมต์การค้นหาแบบย้อนกลับ

วิธีแก้ปัญหาที่เป็นไปได้ / เคล็ดลับ

เริ่มการค้นหาสตริง

ในการใช้การค้นหาแบบย้อนกลับคุณสามารถใช้history-search-backwardและhistory-search-forward(ไม่มีการแมปเริ่มต้น) ทำการจับคู่กับup/down(มีประโยชน์มาก) ใน.inputrc:

# up-down arrow to search in history
"\e[A":history-search-backward
"\e[B":history-search-forward

ดังนั้นหลังจากคุณพิมพ์คุณสามารถย้อนกลับการค้นหากดup (แทนCtrl+ R) และเมื่อคุณต้องการกลับไปยังจุดสิ้นสุดของประวัติศาสตร์คุณสามารถใช้end-of-historyฟังก์ชั่นได้โดยการกด ( M- >)

วิธีนี้"สตริงการค้นหาจะต้องตรงกับจุดเริ่มต้นของบรรทัดประวัติ " ดังนั้นหากคุณค้นหาls -ltrคุณจะต้องพิมพ์lsแล้วกด  upปุ่ม

ค้นหาสตริงย่อย

หากคุณต้องการ " สตริงการค้นหาอาจตรงกันทุกที่ในบรรทัดประวัติ " คุณต้องใช้history-substring-search-forward และhistory-substring-search-backward:

# up-down arrow to search in history
"\e[A":history-substring-search-backward
"\e[B":history-substring-search-forward

วิธีนี้ถ้าคุณค้นหาls -ltrคุณสามารถพิมพ์lsแต่ยังก่อนที่คุณจะกดltrup

อ้างอิง: ทุบตี Reference Manual - คำสั่งสำหรับประวัติความเป็นมา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.