mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-23 04:30:24 +02:00
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.
This commit is contained in:
parent
15630b234a
commit
849f4068de
5 changed files with 189 additions and 23 deletions
19
Functions/Zle/copy-earlier-word
Normal file
19
Functions/Zle/copy-earlier-word
Normal file
|
@ -0,0 +1,19 @@
|
|||
# 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
|
Loading…
Add table
Add a link
Reference in a new issue