Searching through history with up and down arrow in zsh
Solution 1:
You had up-line-or-search
bound to your up-arrow. This should do what you want:
bindkey '^[[A' up-line-or-search
bindkey '^[[B' down-line-or-search
[Edit]:
The command above only uses the first word to search. The following will use the whole line. See man zshcontrib
...
autoload -U up-line-or-beginning-search
autoload -U down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
bindkey "^[[A" up-line-or-beginning-search # Up
bindkey "^[[B" down-line-or-beginning-search # Down
Solution 2:
I'd highly recommend using "$terminfo[kcuu1]"
or "$key[Up]"
rather than hard-coded stuff like "^[[A"
which may or may not work on any particular system.
Check out /etc/zsh/zshrc
for more keys. Here's what it looks like on my system. I think the terminfo
keys are more likely to be defined.
key=(
BackSpace "${terminfo[kbs]}"
Home "${terminfo[khome]}"
End "${terminfo[kend]}"
Insert "${terminfo[kich1]}"
Delete "${terminfo[kdch1]}"
Up "${terminfo[kcuu1]}"
Down "${terminfo[kcud1]}"
Left "${terminfo[kcub1]}"
Right "${terminfo[kcuf1]}"
PageUp "${terminfo[kpp]}"
PageDown "${terminfo[knp]}"
)
https://unix.stackexchange.com/a/405358/276872