vi question

Cameron Simpson cs at zip.com.au
Wed Jul 14 21:39:31 UTC 2010


On 14Jul2010 21:33, Sjoerd Mullender <sjoerd at acm.org> wrote:
| On 2010-07-14 21:19, Michael Hennebry wrote:
| > On Wed, 14 Jul 2010, Sjoerd Mullender wrote:
| >> On 2010-07-14 19:26, Mike Wright wrote:
| >>> Will somebody tell me the symbol to use for a linefeed in substitutions
| >>>   as in
| >>> 	:s1,$#</tag>#</tag>linefeed#g
| >>
| >> Type control-V control-M.
| > 
| > That would be carriage return.
| > convrol-V control-J might work.
| > You might not be able to substitute a linefeed with vi.
| > I think sed can do it.
| 
| I know it's a carriage return.  Did you try it?  If not, do.  Linefeed
| (control-J) doesn't work.

He hasn't tried it, or he'd know it is The Way.

Mike, vi turns a literal carriage return in a substitution into a
linefeed for you. I use this all the time; Sjoerd's suggestion is
exactly what you want.

BTW, you know you can use "%" for 1,$ ?
And "&" for the text matched by the whole pattern?
The former is just convenient, but the "&" thing is very handy with big
(or varying) patterns.

  :%s#</tag>#&^V^M#g

Cheers,
-- 
Cameron Simpson <cs at zip.com.au> DoD#743
http://www.cskk.ezoshosting.com/cs/

Nope. First, you need to learn how to use vi, the editor from hell
(vi vi vi -- the number of the beast), ...
        - Dan Sorenson, DoD#1066, <z1dan at exnet.iastate.edu>


More information about the users mailing list