1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-11-20 05:53:52 +01:00
zsh/Functions/Zle/copy-earlier-word
Peter Stephenson 849f4068de 16767: Src/Zle/zle_hist.c, Doc/Zsh/zle.yo, Doc/Zsh/contrib.yo,
Functions/Zle/copy-earlier-word:  Enhance insert-last-word to
pick different lines from the history (including the current
line) and different words from that line.  Add copy-earlier-word
as suggested by Dominik Vogt to copy words from either the
current line, or (following an insert-last-word) a previous
history line.
2002-03-05 16:33:19 +00:00

20 lines
601 B
Plaintext

# Copy the word before the one you last copied --- call repeatedly
# to cycle through the list of words on the history line.
#
# Words in combination with insert-last-word to use the line reached,
# and start from the word before last. Otherwise, it will operate on
# the current line.
if (( ${NUMERIC:-0} )); then
# 1 means last word, 2 second last, etc.
(( __copyword = ${NUMERIC:-0} ))
elif [[ -n $__copyword && $WIDGET = $LASTWIDGET ]]; then
(( __copyword-- ))
elif [[ $LASTWIDGET = *insert-last-word ]]; then
__copyword=-2
else
__copyword=-1
fi
zle .insert-last-word 0 $__copyword