|
|
|
@ -98,13 +98,15 @@ bindkey -M viins '\ec' fzf-cd-widget
|
|
|
|
|
fzf-history-widget() {
|
|
|
|
|
local selected num
|
|
|
|
|
setopt localoptions noglobsubst noposixbuiltins pipefail no_aliases 2> /dev/null
|
|
|
|
|
selected=( $(fc -rl 1 | awk '{ cmd=$0; sub(/^[ \t]*[0-9]+\**[ \t]+/, "", cmd); if (!seen[cmd]++) print $0 }' |
|
|
|
|
|
FZF_DEFAULT_OPTS="--height ${FZF_TMUX_HEIGHT:-40%} ${FZF_DEFAULT_OPTS-} -n2..,.. --scheme=history --bind=ctrl-r:toggle-sort,ctrl-z:ignore ${FZF_CTRL_R_OPTS-} --query=${(qqq)LBUFFER} +m" $(__fzfcmd)) )
|
|
|
|
|
selected="$(fc -rl 1 | awk '{ cmd=$0; sub(/^[ \t]*[0-9]+\**[ \t]+/, "", cmd); if (!seen[cmd]++) print $0 }' |
|
|
|
|
|
FZF_DEFAULT_OPTS="--height ${FZF_TMUX_HEIGHT:-40%} ${FZF_DEFAULT_OPTS-} -n2..,.. --scheme=history --bind=ctrl-r:toggle-sort,ctrl-z:ignore ${FZF_CTRL_R_OPTS-} --query=${(qqq)LBUFFER} +m" $(__fzfcmd))"
|
|
|
|
|
local ret=$?
|
|
|
|
|
if [ -n "$selected" ]; then
|
|
|
|
|
num=$selected[1]
|
|
|
|
|
if [ -n "$num" ]; then
|
|
|
|
|
num=$(awk '{print $1}' <<< "$selected")
|
|
|
|
|
if [[ "$num" =~ ^[1-9][0-9]*$ ]]; then
|
|
|
|
|
zle vi-fetch-history -n $num
|
|
|
|
|
else # selected is a custom query, not from history
|
|
|
|
|
LBUFFER="$selected"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
zle reset-prompt
|
|
|
|
|