X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/d928d58f1d1502c9751068ee52244c8c94fce31a..HEAD:/etc/zsh/.zshrc diff --git a/etc/zsh/.zshrc b/etc/zsh/.zshrc index c0fdef9..893cac5 100644 --- a/etc/zsh/.zshrc +++ b/etc/zsh/.zshrc @@ -200,9 +200,19 @@ for k v (${(kv)a}) { } unset a k v -## other binds +## fzf # bash-style reverse-search-history (i.e. reverse-i-search) -bindkey '^R' history-incremental-pattern-search-backward +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 @@ -291,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 { @@ -411,5 +422,8 @@ esac autoload -Uz promptinit && promptinit prompt arrows +### plugins +load-plugins zshrc + ### load site-specific load-site-dotfile zshrc