ฉันพบวิธีแก้ไขปัญหาของฉันในเอกสารคู่มือZSHแล้ว Oh-my-zsh ดูเหมือนว่าจะแมป↑และ↓กุญแจเข้ากับสิ่งที่ชอบ
bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward
ซึ่งให้ผลพฤติกรรมที่แน่นอนที่ฉันอธิบายไว้ข้างต้น เอกสารกำกับ ZSH อธิบายพฤติกรรมของhistory-search-backwardas
  ค้นหาย้อนหลังในประวัติศาสตร์สำหรับการเริ่มต้นสอดคล้องกับคำแรกในบัฟเฟอร์
สิ่งที่ฉันต้องการแทนคือการทำแผนที่ต่อไปนี้ซึ่งฉันแทรกลงในของฉัน~/.zshrc:
bindkey '\e[A' history-beginning-search-backward
bindkey '\e[B' history-beginning-search-forward
พฤติกรรมของhistory-beginning-search-backwardเป็นดังนี้:
  ค้นหาไปข้างหน้าในประวัติศาสตร์สำหรับสายการเริ่มต้นกับสายปัจจุบันถึงเคอร์เซอร์ ทำให้เคอร์เซอร์อยู่ในตำแหน่งเดิม
นอกจากนี้ถ้า\e[Aไม่ได้ทำงานให้ขึ้นหรือลงลูกศรกด<ctrl-v><KEY (e.g., up arrow)>ใน terminal ^[OAอีกซึ่งจะช่วยให้ \e[Aจากนั้นคุณสามารถใช้วิธีนี้แทน กระบวนการอธิบายไว้ที่นี่: http://zshwiki.org/home/zle/bindkeys