ฉันพบวิธีแก้ไขปัญหาของฉันในเอกสารคู่มือZSHแล้ว Oh-my-zsh ดูเหมือนว่าจะแมป↑และ↓กุญแจเข้ากับสิ่งที่ชอบ
bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward
ซึ่งให้ผลพฤติกรรมที่แน่นอนที่ฉันอธิบายไว้ข้างต้น เอกสารกำกับ ZSH อธิบายพฤติกรรมของhistory-search-backward
as
ค้นหาย้อนหลังในประวัติศาสตร์สำหรับการเริ่มต้นสอดคล้องกับคำแรกในบัฟเฟอร์
สิ่งที่ฉันต้องการแทนคือการทำแผนที่ต่อไปนี้ซึ่งฉันแทรกลงในของฉัน~/.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