diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2013-11-10 16:11:29 -0800 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2013-11-10 16:11:29 -0800 |
commit | ff34c6b2724f1f527a117a1a5df2e2b9d1358ee3 (patch) | |
tree | 176b54eef9a720fd58f007f05196b2db176a4849 | |
parent | 1e9e5978374503c77508790f9dfb7704d309f506 (diff) | |
parent | b2ac52462ccb678d0d5ae1a3d6dd4dab129377de (diff) |
Merge pull request #5 from Vifon/zsh-widgets0.3.1
new zsh widgets
-rw-r--r-- | README.md | 27 |
1 files changed, 21 insertions, 6 deletions
@@ -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 |