Saya telah menemukan solusi untuk masalah saya dalam dokumentasi ZSH . Oh-my-zsh tampaknya memetakan ↑dan ↓Kunci untuk sesuatu seperti
bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward
Yang menghasilkan perilaku persis seperti yang saya jelaskan di atas. Dokumentasi ZSH menggambarkan perilaku history-search-backward
as
Cari mundur dalam sejarah untuk baris yang dimulai dengan kata pertama di buffer .
Yang saya inginkan adalah pemetaan berikut, yang saya masukkan ke dalam ~/.zshrc
:
bindkey '\e[A' history-beginning-search-backward
bindkey '\e[B' history-beginning-search-forward
Perilaku history-beginning-search-backward
adalah sebagai berikut:
Cari maju dalam sejarah untuk baris yang dimulai dengan baris saat ini hingga kursor . Ini meninggalkan kursor pada posisi semula.
Juga, jika \e[A
tidak bekerja untuk panah atas atau bawah, tekan <ctrl-v><KEY (e.g., up arrow)>
terminal lain yang memberi ^[OA
. Maka Anda bisa menggunakan ini sebagai gantinya \e[A
. Prosesnya dijelaskan di sini: http://zshwiki.org/home/zle/bindkeys