Better research history with arrow keys

This commit is contained in:
desrum_m 2015-02-22 23:07:51 +01:00
commit 410d03d27f
2 changed files with 31 additions and 19 deletions

View file

@ -1,3 +1,5 @@
Modified version to get a better research history (with arrow-keys) with oh-my-zsh.
![Oh My Zsh](https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png)

View file

@ -4,16 +4,16 @@
# Make sure that the terminal is in application mode when zle is active, since
# only then values from $terminfo are valid
if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then
function zle-line-init() {
echoti smkx
}
function zle-line-finish() {
echoti rmkx
}
zle -N zle-line-init
zle -N zle-line-finish
fi
#if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then
# function zle-line-init() {
# echoti smkx
# }
# function zle-line-finish() {
# echoti rmkx
# }
# zle -N zle-line-init
# zle -N zle-line-finish
#fi
bindkey -e # Use emacs key bindings
@ -23,16 +23,26 @@ bindkey '^r' history-incremental-search-backward # [Ctrl-r] - Search backwa
if [[ "${terminfo[kpp]}" != "" ]]; then
bindkey "${terminfo[kpp]}" up-line-or-history # [PageUp] - Up a line of history
fi
if [[ "${terminfo[knp]}" != "" ]]; then
bindkey "${terminfo[knp]}" down-line-or-history # [PageDown] - Down a line of history
fi
if [[ "${terminfo[kcuu1]}" != "" ]]; then
bindkey "${terminfo[kcuu1]}" up-line-or-search # start typing + [Up-Arrow] - fuzzy find history forward
fi
if [[ "${terminfo[kcud1]}" != "" ]]; then
bindkey "${terminfo[kcud1]}" down-line-or-search # start typing + [Down-Arrow] - fuzzy find history backward
fi
# New functionality !
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
# End of new functionality
#if [[ "${terminfo[knp]}" != "" ]]; then
# bindkey "${terminfo[knp]}" down-line-or-history # [PageDown] - Down a line of history
#fi
#
#if [[ "${terminfo[kcuu1]}" != "" ]]; then
# bindkey "${terminfo[kcuu1]}" up-line-or-search # start typing + [Up-Arrow] - fuzzy find history forward
#fi
#if [[ "${terminfo[kcud1]}" != "" ]]; then
# bindkey "${terminfo[kcud1]}" down-line-or-search # start typing + [Down-Arrow] - fuzzy find history backward
#fi
if [[ "${terminfo[khome]}" != "" ]]; then
bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line