diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2002-03-05 16:33:19 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2002-03-05 16:33:19 +0000 |
commit | 849f4068de9831fdaa635c2372dada9131fb5a39 (patch) | |
tree | b1d1696df228fc9c34412920f74d03e1794eba8b /Doc/Zsh | |
parent | 15630b234ad7d2e91b165ba0bf584ee0e6e6efce (diff) | |
download | zsh-849f4068de9831fdaa635c2372dada9131fb5a39.tar.gz zsh-849f4068de9831fdaa635c2372dada9131fb5a39.tar.xz zsh-849f4068de9831fdaa635c2372dada9131fb5a39.zip |
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.
Diffstat (limited to 'Doc/Zsh')
-rw-r--r-- | Doc/Zsh/contrib.yo | 14 | ||||
-rw-r--r-- | Doc/Zsh/zle.yo | 31 |
2 files changed, 45 insertions, 0 deletions
diff --git a/Doc/Zsh/contrib.yo b/Doc/Zsh/contrib.yo index 654fa699c..21997b7d8 100644 --- a/Doc/Zsh/contrib.yo +++ b/Doc/Zsh/contrib.yo @@ -524,6 +524,20 @@ example(zle -N insert-last-assignment smart-insert-last-word zstyle :insert-last-assignment match '[[:alpha:]][][[:alnum:]]#=*' bindkey '\e=' insert-last-assignment) ) +findex(copy-earlier-word) +item(tt(copy-earlier-word))( +This widget works like a combination of tt(insert-last-word) and +tt(copy-prev-shell-word). Repeated invocations of the widget retrieve +earlier words on the relevant history line. With a numeric argument +var(N), insert the var(N)th word from the history line; var(N) may be +negative to count from the end of the line. + +If tt(insert-last-word) has been used to retrieve the last word on a +previous history line, repeated invocations will replace that word with +earlier words from the same line. + +Otherwise, the widget applies to words on the line currently being edited. +) enditem() subsect(Styles) diff --git a/Doc/Zsh/zle.yo b/Doc/Zsh/zle.yo index c184f0a87..aee624eb7 100644 --- a/Doc/Zsh/zle.yo +++ b/Doc/Zsh/zle.yo @@ -941,6 +941,37 @@ left (zero inserts the previous command word). Repeating this command replaces the word just inserted with the last word from the history event prior to the one just used; numeric arguments can be used in the same way to pick a word from that event. + +When called from a shell function invoked from a user-defined widget, the +command can take one to three arguments. The first argument specifies a +history offset which applies to successive calls to this widget: if is -1, +the default behaviour is used, while if it is 1, successive calls will move +forwards through the history. The value 0 can be used to indicate that the +history line examined by the previous execution of the command will be +reexamined. Note that negative numbers should be preceeded with a +`tt(-)tt(-)' argument to avoid confusing them with options. + +If two arguments are given, the second specifies the word on the command +line in normal array index notation (as a more natural alternative to the +prefix argument). Hence 1 is the first word, and -1 (the default) is the +last word. + +If a third argument is given, its value is ignored, but it is used to +signify that the history offset is relative to the current history line, +rather than the one remembered after the previous invocations of +tt(insert-last-word). + +For example, the default behaviour of the command corresponds to + +example(zle insert-last-word -- -1 -1) + +while the command + +example(zle insert-last-word -- -1 1 -) + +always copies the first word of the line in the history immediately before +the line being edited. This has the side effect that later invocations of +the widget will be relative to that line. ) tindex(vi-repeat-search) item(tt(vi-repeat-search) (unbound) (n) (unbound))( |