Merge pull request #5 from Vifon/zsh-widgets

new zsh widgets
This commit is contained in:
Junegunn Choi 2013-11-10 16:11:29 -08:00
commit ff34c6b272

View File

@ -177,20 +177,35 @@ zsh widgets
-----------
```sh
# CTRL-T - Paste the selected file path into the command line
# CTRL-T - Paste the selected file(s) path into the command line
fzf-file-widget() {
LBUFFER+=$(
find * -path '*/\.*' -prune \
-o -type f -print \
-o -type l -print 2> /dev/null | fzf)
local FILES
local IFS="
"
FILES=($(
find * -path '*/\.*' -prune \
-o -type f -print \
-o -type l -print 2> /dev/null | fzf -m))
unset IFS
FILES=$FILES:q
LBUFFER="${LBUFFER%% #} $FILES"
zle redisplay
}
zle -N fzf-file-widget
bindkey '^T' fzf-file-widget
# ALT-C - cd into the selected directory
fzf-cd-widget() {
cd "${$(find * -path '*/\.*' -prune \
-o -type d -print 2> /dev/null | fzf):-.}"
zle reset-prompt
}
zle -N fzf-cd-widget
bindkey '\ec' fzf-cd-widget
# CTRL-R - Paste the selected command from history into the command line
fzf-history-widget() {
LBUFFER+=$(history | fzf +s | sed "s/ *[0-9]* *//")
LBUFFER=$(history | fzf +s | sed "s/ *[0-9]* *//")
zle redisplay
}
zle -N fzf-history-widget