Tôi đã tìm thấy giải pháp cho vấn đề của mình trong tài liệu ZSH . Oh-my-zsh dường như ánh xạ ↑và ↓Phím tới một cái gì đó như
bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward
Mà mang lại hành vi chính xác tôi mô tả ở trên. Tài liệu ZSH mô tả hành vi của history-search-backwardnhư
Tìm kiếm ngược trong lịch sử cho một dòng bắt đầu bằng từ đầu tiên trong bộ đệm .
Thay vào đó, thứ tôi muốn là ánh xạ sau, mà tôi đã chèn vào ~/.zshrc:
bindkey '\e[A' history-beginning-search-backward
bindkey '\e[B' history-beginning-search-forward
Hành vi của history-beginning-search-backwardnhư sau:
Tìm kiếm về phía trước trong lịch sử cho một dòng bắt đầu với dòng hiện tại lên đến con trỏ . Điều này để con trỏ ở vị trí ban đầu của nó.
Ngoài ra, nếu \e[Akhông hoạt động cho mũi tên lên hoặc xuống, hãy nhấn <ctrl-v><KEY (e.g., up arrow)>vào một thiết bị đầu cuối khác ^[OA. Sau đó, bạn có thể sử dụng này thay vì \e[A. Quá trình này được mô tả ở đây: http://zshwiki.org/home/zle/bindkeys