X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/57f9ed7a8fc80250bae6c6d0b48d68b64a677563..ec9f2140efb69f3f9e95b8b2fa3681e3ff07e38b:/etc/zsh/.zshrc?ds=sidebyside diff --git a/etc/zsh/.zshrc b/etc/zsh/.zshrc index 46c1992..893cac5 100644 --- a/etc/zsh/.zshrc +++ b/etc/zsh/.zshrc @@ -200,6 +200,20 @@ for k v (${(kv)a}) { } unset a k v +## fzf +# bash-style reverse-search-history (i.e. reverse-i-search) +if [[ -v commands[fzf] ]] { + function _history-incremental-pattern-search-fzf { + l=(${(f)"$(fc -li -1 0 | fzf -e -m -n 1 +s --preview-window=hidden ${BUFFER:+-q $BUFFER})"}) + l=$(for x ("${l[@]}") { echo ${${=x}:3}; }) + BUFFER="$l" + } + zle -N _history-incremental-pattern-search-fzf + bindkey '^R' _history-incremental-pattern-search-fzf +} else { + bindkey '^R' history-incremental-pattern-search-backward +} + ### aliases ## builtins alias rehash='_sev_setpath; rehash' @@ -287,8 +301,9 @@ alias gp='git push' alias gu='git pull' alias gl='git log' alias gt='git tree' # from gitconfig -alias gs='git show' -alias gst='git stash' +alias gsh='git show' +alias gst='git status' +alias gs='git stash' alias gsp='git stash pop' ## cd/zoxide function up { @@ -407,5 +422,8 @@ esac autoload -Uz promptinit && promptinit prompt arrows +### plugins +load-plugins zshrc + ### load site-specific load-site-dotfile zshrc