Add the following lines to the zsh config e.g. .zshrc
bindkey '\e[A' history-beginning-search-backward
bindkey '\e[B' history-beginning-search-forward
The behavior of history-beginning-search-backward
is as follows:
Search forward in the history for a line beginning with the current line up to the cursor. This leaves the cursor in its original position.
Also, if \e[A
doesn't work for the up or down arrows, press <ctrl-v><KEY (e.g., up arrow)>
in another terminal
which gives ^[OA
. Then you can use this instead of \e[A
. The process is described here: http://zshwiki.org/home/zle/bindkeys