Я нашел решение моей проблемы в документации ZSH . Oh-my-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