+
+# 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
+}
+zle -N fzf-git-status-widget
+bindkey "^Y" fzf-git-status-widget
+
+. ~/work/fzf/shell/key-bindings.zsh
+# }}}