Annotation of 43BSDReno/share/doc/usd/12.edtut/e5, revision 1.1

1.1     ! root        1: .\"    @(#)e5  6.1 (Berkeley) 5/22/86
        !             2: .\"
        !             3: .SH
        !             4: Change and Insert \- ``c'' and ``i''
        !             5: .PP
        !             6: This section discusses the
        !             7: .ul
        !             8: change
        !             9: command
        !            10: .P1
        !            11: c
        !            12: .P2
        !            13: which is used to change
        !            14: or replace a group of one or more lines,
        !            15: and the
        !            16: .ul
        !            17: insert
        !            18: command
        !            19: .P1
        !            20: i
        !            21: .P2
        !            22: which is used for inserting a group of one or more lines.
        !            23: .PP
        !            24: ``Change'', written as
        !            25: .P1
        !            26: c
        !            27: .P2
        !            28: is used to replace a number of lines with different lines, which
        !            29: are typed in at the terminal.
        !            30: For example,
        !            31: to change lines
        !            32: .UL .+1
        !            33: through
        !            34: .UL $
        !            35: to something else, type
        !            36: .P1
        !            37: \&.+1,$c
        !            38: \&. . . \fItype the lines of text you want here\fP . . .
        !            39: \*.
        !            40: .P2
        !            41: The lines you type between the
        !            42: .UL c
        !            43: command and
        !            44: the 
        !            45: .UL .
        !            46: will take the place of the original lines between
        !            47: start line and end line.
        !            48: This is most useful in replacing a line
        !            49: or several lines which have errors in them.
        !            50: .PP
        !            51: If only one line is specified in the
        !            52: .UL c
        !            53: command, then just
        !            54: that line is replaced.
        !            55: (You can type in as many replacement lines as you like.)
        !            56: Notice
        !            57: the use of
        !            58: .UL .
        !            59: to end the
        !            60: input \- this works just like the
        !            61: .UL .
        !            62: in the append command
        !            63: and must appear by itself on a new line.
        !            64: If no line number is given, line dot is replaced.
        !            65: The value of dot is set to the last line you typed in.
        !            66: .PP
        !            67: ``Insert'' is similar to append \- for instance
        !            68: .P1
        !            69: /string/i
        !            70: \&. . . \fItype the lines to be inserted here\fP . . .
        !            71: \*.
        !            72: .P2
        !            73: will insert the given text
        !            74: .ul
        !            75: before
        !            76: the next line that contains ``string''.
        !            77: The text between
        !            78: .UL i
        !            79: and
        !            80: .UL .
        !            81: is
        !            82: .ul
        !            83: inserted before
        !            84: the specified line.
        !            85: If no line number is specified dot is used.
        !            86: Dot is set to the last line inserted.
        !            87: .SH
        !            88: Exercise 7:
        !            89: .PP
        !            90: ``Change'' is rather like a combination of
        !            91: delete followed by insert.
        !            92: Experiment to verify that
        !            93: .P1
        !            94: \fIstart, end\fP d
        !            95: i
        !            96: .ul
        !            97: \&. . . text . . .
        !            98: \*.
        !            99: .P2
        !           100: is almost the same as
        !           101: .P1
        !           102: \fIstart, end\fP c
        !           103: .ul
        !           104: \&. . . text . . .
        !           105: \*.
        !           106: .P2
        !           107: These are not
        !           108: .ul
        !           109: precisely
        !           110: the same
        !           111: if line
        !           112: .UL $
        !           113: gets deleted.
        !           114: Check this out.
        !           115: What is dot?
        !           116: .PP
        !           117: Experiment with
        !           118: .UL a
        !           119: and
        !           120: .UL i ,
        !           121: to see that they are
        !           122: similar, but not the same.
        !           123: You will observe that
        !           124: .P1
        !           125: \fIline\(hynumber\fP a
        !           126: \&. . . \fItext\fP . . .
        !           127: \*.
        !           128: .P2
        !           129: appends
        !           130: .ul
        !           131: after
        !           132: the given line, while
        !           133: .P1
        !           134: \fIline\(hynumber\fP i
        !           135: \&. . . \fItext\fP . . .
        !           136: \*.
        !           137: .P2
        !           138: inserts
        !           139: .ul
        !           140: before
        !           141: it.
        !           142: Observe that if no line number is given,
        !           143: .UL i
        !           144: inserts before line dot, while 
        !           145: .UL a
        !           146: appends
        !           147: after line dot.
        !           148: .SH
        !           149: Moving text around: the ``m'' command
        !           150: .PP
        !           151: The move command 
        !           152: .UL m
        !           153: is used for cutting and pasting \-
        !           154: it lets you move a group of lines
        !           155: from one place to another in the buffer.
        !           156: Suppose you want to put the first three lines of the buffer at the end instead.
        !           157: You could do it by saying:
        !           158: .P1
        !           159: 1,3w temp
        !           160: $r temp
        !           161: 1,3d
        !           162: .P2
        !           163: (Do you see why?)
        !           164: but you can do it a lot easier with the 
        !           165: .UL m
        !           166: command:
        !           167: .P1
        !           168: 1,3m$
        !           169: .P2
        !           170: The general case is
        !           171: .P1
        !           172: \fIstart line, end line\fP m \fIafter this line\fP
        !           173: .P2
        !           174: Notice that there is a third line to be specified \-
        !           175: the place where the moved stuff gets put.
        !           176: Of course the lines to be moved can be specified
        !           177: by context searches;
        !           178: if you had
        !           179: .P1
        !           180: First paragraph
        !           181: \&. . .
        !           182: end of first paragraph.
        !           183: Second paragraph
        !           184: \&. . .
        !           185: end of second paragraph.
        !           186: .P2
        !           187: you could reverse the two paragraphs like this:
        !           188: .P1
        !           189: /Second/,/end of second/m/First/\-1
        !           190: .P2
        !           191: Notice the
        !           192: .UL \-1 :
        !           193: the moved text goes
        !           194: .ul
        !           195: after
        !           196: the line mentioned.
        !           197: Dot gets set to the last line moved.
        !           198: .SH
        !           199: The global commands ``g'' and ``v''
        !           200: .PP
        !           201: The
        !           202: .ul
        !           203: global
        !           204: command
        !           205: .UL g
        !           206: is used to execute one or more 
        !           207: .ul
        !           208: ed
        !           209: commands on all those lines in the buffer
        !           210: that match some specified string.
        !           211: For example
        !           212: .P1
        !           213: g/peling/p
        !           214: .P2
        !           215: prints all lines that contain
        !           216: .UL peling .
        !           217: More usefully,
        !           218: .P1
        !           219: g/peling/s//pelling/gp
        !           220: .P2
        !           221: makes the substitution everywhere on the line,
        !           222: then prints each corrected line.
        !           223: Compare this to
        !           224: .P1
        !           225: 1,$s/peling/pelling/gp
        !           226: .P2
        !           227: which only prints the last line substituted.
        !           228: Another subtle difference is that
        !           229: the
        !           230: .UL g
        !           231: command
        !           232: does not give a
        !           233: .UL ?
        !           234: if
        !           235: .UL peling
        !           236: is not found
        !           237: where the
        !           238: .UL s
        !           239: command will.
        !           240: .PP
        !           241: There may be several commands
        !           242: (including
        !           243: .UL a ,
        !           244: .UL c ,
        !           245: .UL i ,
        !           246: .UL r ,
        !           247: .UL w ,
        !           248: but not
        !           249: .UL g );
        !           250: in that case,
        !           251: every line except the last must end with a backslash
        !           252: .UL \e :
        !           253: .P1
        !           254: g/xxx/\*.-1s/abc/def/\e
        !           255: \&\*.+2s/ghi/jkl/\e
        !           256: \&\*.-2,\*.p
        !           257: .P2
        !           258: makes changes in the lines before and after each line
        !           259: that contains
        !           260: .UL xxx ,
        !           261: then prints all three lines.
        !           262: .PP
        !           263: The
        !           264: .UL v
        !           265: command is the same as
        !           266: .UL g ,
        !           267: except that the commands are executed on every line
        !           268: that does
        !           269: .ul
        !           270: not
        !           271: match the string following
        !           272: .UL v :
        !           273: .P1
        !           274: v/ /d
        !           275: .P2
        !           276: deletes every line that does not contain a blank.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.