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-backward
như
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-backward
như 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[A
khô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