From 95aa9bd97b9fb2a57f355178b2c5f01eb72ad0b6 Mon Sep 17 00:00:00 2001 From: desrum_m Date: Sun, 22 Feb 2015 23:07:51 +0100 Subject: [PATCH] Better research history with arrow keys This change enables UP-arrow and DOWN-arrow full-line history completion. For example, if you write `git clone` and press UP: - Before this change, it will use the last command that starts with `git`. - After this change, it will use the last command that starts with `git clone`. --- lib/key-bindings.zsh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index eb2b5805..0e056dc7 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -27,11 +27,17 @@ if [[ "${terminfo[knp]}" != "" ]]; then bindkey "${terminfo[knp]}" down-line-or-history # [PageDown] - Down a line of history fi +# start typing + [Up-Arrow] - fuzzy find history forward if [[ "${terminfo[kcuu1]}" != "" ]]; then - bindkey "${terminfo[kcuu1]}" up-line-or-search # start typing + [Up-Arrow] - fuzzy find history forward + autoload -U up-line-or-beginning-search + zle -N up-line-or-beginning-search + bindkey "${terminfo[kcuu1]}" up-line-or-beginning-search fi +# start typing + [Down-Arrow] - fuzzy find history backward if [[ "${terminfo[kcud1]}" != "" ]]; then - bindkey "${terminfo[kcud1]}" down-line-or-search # start typing + [Down-Arrow] - fuzzy find history backward + autoload -U down-line-or-beginning-search + zle -N down-line-or-beginning-search + bindkey "${terminfo[kcud1]}" down-line-or-beginning-search fi if [[ "${terminfo[khome]}" != "" ]]; then