ประวัติการค้นหาย้อนหลังทำงานแตกต่างกันใน zsh กว่าทุบตี


10

ฉันhistory-search-backwardทำแผนที่เป็น PageUp แล้ว

เมื่อฉันพิมพ์:

git push <PageUp><PageUp><PageUp>
  1. ใน Bash มันจะเริ่มวนไปตามรายการประวัติทั้งหมดที่เริ่มต้นด้วยgit push
  2. ใน zsh มันเริ่มที่จะวงจรผ่านรายการประวัติทั้งหมดเริ่มต้นด้วยคอมไพล์จึงจะแสดงรายการดังกล่าวgit status, git remote updateฯลฯ นี้ไม่ได้เป็นสิ่งที่ฉันต้องการ

ฉันจะให้ zsh ทำตัวเหมือนทุบตีได้อย่างไร? สิ่งที่setoptฉันควรจะตั้ง?

คำตอบ:


13
bindkey "^[[5~" history-beginning-search-backward

bindkey "^[[6~" history-beginning-search-forward

นี่คือสิ่งที่ฉันใช้


หากคุณต้องการฟังก์ชั่นที่เหมือนกัน แต่มี arror ขึ้นและลงให้แทนที่คีย์การโยง"^[[5~"ไป"^[[A"และ"^[[6~"ไป"^[[B"
Autodidact

1
การค้นหาประวัติเริ่มต้นของ zsh ยังมีความแตกต่างเล็กน้อยจากการค้นหาประวัติของ bash (readline) คำสั่งของ readline เทียบเท่ากับประวัติ - ย้อนหลัง / ไปข้างหน้า (และวางเคอร์เซอร์ที่ท้ายบรรทัด) ก่อนที่คุณจะย้ายเคอร์เซอร์ในบรรทัด (ซึ่งจะทำให้กลายเป็น "ประวัติศาสตร์เริ่มต้นค้นหา") ในขณะที่คนของ zsh ใส่เสมอ เคอร์เซอร์ที่จุดเริ่มต้นของบรรทัด มีวิธีที่ง่ายในการเปลี่ยนพฤติกรรมนี้โดยไม่ต้องเขียนวิดเจ็ตใหม่หรือไม่? ขอบคุณ
ยูเฉา

@ yuyichao คุณอาจจะหาวิธีที่จะzshทำตัวเป็นbashอย่างไรบ้าง?
Blaz

@courteous ไม่จริงแม้ว่าฉันจะคุ้นเคยกับพฤติกรรม zsh หลังจากใช้ไปสักพัก ... โดยเฉพาะอย่างยิ่งเมื่อคนธรรมดา<C-e>สามารถเปลี่ยนzshพฤติกรรมให้เป็นbashพฤติกรรม แต่ไม่ใช่วิธีที่ง่าย ๆ
yuyichao
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.