X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=zsh%2F.zshrc;h=387f852f7dca9ef012c07f50bc9079a5e2054db1;hb=f3dc6d0d24f814b8aadf7e6b73e3c188e2dfa883;hp=9f6f8349156e3de96b7539f9ee5688c4422e3674;hpb=39b5baba0927ca04a7da4ae99355d21a2534efb9;p=dotfiles.git diff --git a/zsh/.zshrc b/zsh/.zshrc index 9f6f834..387f852 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -211,36 +211,10 @@ ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=cyan" # }}} # fzf {{{ -alias -g PE="| pe" - -export FZF_DEFAULT_OPTS="--color=16 --info=inline --preview='less -N -S {}'" - -_fzf_find() { - find . \( -path "*/\.git" -o -fstype devfs -o -fstype procfs \) -prune \ - -o -type d -print $@ 2>/dev/null | cut -b3- -} - -export FZF_CTRL_T_COMMAND="_fzf_find -o -type f -print -o -type l -print" -export FZF_ALT_C_COMMAND=_fzf_find - -_fzf_git_status() { - local item - git status --short | fzf -m --preview="" | while read item ; do - item=`echo $item | cut -w -f2-` - echo -n "$item " - done - local ret=$? - print - return $ret -} -fzf-git-status-widget() { - LBUFFER="${LBUFFER}$(_fzf_git_status)" - local ret=$? - zle reset-prompt - return $ret +export FZF_DEFAULT_OPTS="--color=16 --info=inline" +cf() { + local dir=$(find ${1:-.} -path "*/\.git" -prune -o -type d -print | + fzf --height 40% --reverse --preview="tree -CN {}") + [[ -z "$dir" ]] || cd "$dir" } -zle -N fzf-git-status-widget -bindkey "^Y" fzf-git-status-widget - -. ~/work/fzf/shell/key-bindings.zsh # }}}