From fe06b7a73db3af0a4ba6988c5c467a90d36a2a76 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 6 Jul 2001 17:25:53 +0000 Subject: 15279: ${(S)...%%...} etc. doc; 15288: bash word functions + doc --- Doc/Zsh/contrib.yo | 17 +++++++++++++++++ Doc/Zsh/expn.yo | 24 ++++++++++++++++++++---- 2 files changed, 37 insertions(+), 4 deletions(-) (limited to 'Doc') diff --git a/Doc/Zsh/contrib.yo b/Doc/Zsh/contrib.yo index cff9f2d39..9919117e5 100644 --- a/Doc/Zsh/contrib.yo +++ b/Doc/Zsh/contrib.yo @@ -362,6 +362,23 @@ followed by an appropriate tt(bindkey) command to associate the function with a key sequence. Suggested bindings are described below. startitem() +tindex(bash-forward-word) +tindex(bash-backward-word) +tindex(bash-kill-word) +tindex(bash-backward-kill-word) +xitem(tt(bash-forward-word), tt(bash-backward-word)) +item(tt(bash-kill-word), tt(bash-backward-kill-word))( +These work similarly to the corresponding builtin zle functions without the +`tt(bash-)' prefix, but a word is considered to consist of alphanumeric +characters only. If you wish to replace your existing bindings with these +four widgets, the following is sufficient: + +example(for widget in kill-word backward-kill-word \ +forward-word backward-word; do + autoload bash-$widget + zle -N $widget bash-$widget +done) +) tindex(cycle-completion-positions) item(tt(cycle-completion-positions))( After inserting an unambiguous string into the command line, the new diff --git a/Doc/Zsh/expn.yo b/Doc/Zsh/expn.yo index 562e9bef2..a4631f37b 100644 --- a/Doc/Zsh/expn.yo +++ b/Doc/Zsh/expn.yo @@ -791,10 +791,26 @@ Search the var(expr)th match (where var(expr) evaluates to a number). This only applies when searching for substrings, either with the tt(S) flag, or with tt(${)...tt(/)...tt(}) (only the var(expr)th match is substituted) or tt(${)...tt(//)...tt(}) (all matches from the -var(expr)th on are substituted). The var(expr)th match is counted -such that there is either one or zero matches from each starting -position in the string, although for global substitution matches -overlapping previous replacements are ignored. +var(expr)th on are substituted). The default is to take the first match. + +The var(expr)th match is counted such that there is either one or zero +matches from each starting position in the string, although for global +substitution matches overlapping previous replacements are ignored. With +the tt(${)...tt(%)...tt(}) and tt(${)...tt(%%)...tt(}) forms, the starting +position for the match moves backwards from the end as the index increases, +while with the other forms it moves forward from the start. + +Hence with the string +example(which switch is the right switch for Ipswich?) +substitutions of the form +tt(${)LPAR()tt(SI:)var(N)tt(:)RPAR()tt(string#w*ch}) as var(N) increases +from 1 will match and remove `tt(which)', `tt(witch)', `tt(witch)' and +`tt(wich)'; the form using `tt(##)' will match and remove `tt(which switch +is the right switch for Ipswich)', `tt(witch is the right switch for +Ipswich)', `tt(witch for Ipswich)' and `tt(wich)'. The form using `tt(%)' +will remove the same matches as for `tt(#)', but in reverse order, and the +form using `tt(%%)' will remove the same matches as for `tt(##)' in reverse +order. ) item(tt(M))( Include the matched portion in the result. -- cgit 1.4.1