Я знайшов рішення своєї проблеми в документації на ZSH . Ой-мі-зш, здається, відображає ↑та ↓ключі на щось подібне
bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward
Що дає точну поведінку, яку я описав вище. Документація ZSH описує поведінку history-search-backwardяк
Шукайте назад в історії рядок, що починається з першого слова в буфері .
Я замість цього хотів, це наступне відображення, яке я вставив у своє ~/.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)>на іншому терміналі, який дає ^[OA. Тоді ви можете використовувати це замість \e[A. Процес описаний тут: http://zshwiki.org/home/zle/bindkeys