Do I understand correctly that this is in reference to these parts of man 1 ed:
> /re/ > The next line containing the regular expression re. The search wraps to > the beginning of the buffer and continues down to the current line, if > necessary. “//” repeats the last search. > ?re? > The previous line containing the regular expression re. The search wraps > to the end of the buffer and continues up to the current line, if necessary. > “??” repeats the last search. and: > (1,$)g/re/command-list > Applies command-list to each of the addressed lines matching a regular > expression re. The current address is set to the line currently matched > before command-list is executed. At the end of the g command, the current > address is set to the last line affected by command-list. If no lines were > matched, the current line number remains unchanged. > > Each command in command-list must be on a separate line, and every line > except for the last must be terminated by a backslash (‘\’). Any commands are > allowed, except for g, G, v, and V. A newline alone in command-list is > equivalent to a p command. If yes, then the corresponding parts of ed.1 are: .It / Ns Ar re Ns / The next line containing the regular expression .Ar re . The search wraps to the beginning of the buffer and continues down to the current line, if necessary. .Qq // repeats the last search. .It Pf ? Ar re ? The previous line containing the regular expression .Ar re . The search wraps to the end of the buffer and continues up to the current line, if necessary. .Qq ?? repeats the last search. and: .It Xo .Pf (1,$) Ic g No / .Ar re No / Ar command-list .Xc .Sm on Applies .Ar command-list to each of the addressed lines matching a regular expression .Ar re . The current address is set to the line currently matched before command-list is executed. At the end of the .Ic g command, the current address is set to the last line affected by command-list. If no lines were matched, the current line number remains unchanged. .Pp Each command in .Ar command-list must be on a separate line, and every line except for the last must be terminated by a backslash .Pq Sq \e . Any commands are allowed, except for .Ic g , .Ic G , .Ic v , and .Ic V . A newline alone in command-list is equivalent to a .Ic p command. .Sm off I'm not actually sure how to rewrite that. Would this call for separate /re, ?re and (1,$)g/re entries, or would it suffice to say that the second question mark or slash can be omitted if immediately followed by a newline? Does anyone else have any ideas? NB: In case people haven't seen it, here's an excellent ed(1) tutorial: https://sanctum.geek.nz/arabesque/actually-using-ed/ I just thought I'd mention that. Ian On 03/07/2019, mazoc...@disroot.org <mazoc...@disroot.org> wrote: > Hi! > > I am not good at explaining something shortly and clearly to fit into > proper documentation, so I'll just describe my experience here. > > Terminating regular expressions with / or ? is necessary only if they > are followed by commands, otherwise the following are legal in both > OpenBSD ed, Plan 9 ed and GNU ed: > /something > / > ? > g/ing > > I hope I made life of many ed users easier :) > >