Annotation of 43BSDReno/share/doc/usd/16.ex/ex.summary, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1980 Regents of the University of California.
                      2: .\" All rights reserved.  The Berkeley software License Agreement
                      3: .\" specifies the terms and conditions for redistribution.
                      4: .\"
                      5: .\"    @(#)ex.summary  6.1 (Berkeley) 5/30/86
                      6: .\"
                      7: .ds p \v'-0.2'.\v'+0.2'
                      8: .ds U \s-2UNIX\s+2
                      9: .ds c \v'-0.2':\v'+0.2'
                     10: .nr PO .25i
                     11: .nr LL 6.75i
                     12: .lt 6.75i
                     13: .ll 6.75i
                     14: .ds CH
                     15: .ds LF Computing Services, U.C. Berkeley
                     16: .ds RF April 3, 1979
                     17: .de SP
                     18: .sp 1v
                     19: ..
                     20: .nr PI 3n
                     21: .nr PD 0
                     22: .ND
                     23: .ps 12
                     24: .ft B
                     25: .ce 1
                     26: Ex/Edit Command Summary (Version 2.0)
                     27: .ft R
                     28: .nr VS 11
                     29: .nr PS 9
                     30: .nr HM 0.5i
                     31: .nr CW
                     32: .2C
                     33: .PP
                     34: .I Ex
                     35: and
                     36: .I edit
                     37: are text editors, used for creating
                     38: and modifying files of text on the \*U
                     39: computer system.
                     40: .I Edit
                     41: is a variant of
                     42: .I ex
                     43: with features designed to
                     44: make it less complicated
                     45: to learn and use.
                     46: In terms of command syntax and effect
                     47: the editors are essentially identical,
                     48: and this command summary applies to both.
                     49: .PP
                     50: The summary is meant as a quick reference
                     51: for users already acquainted
                     52: with
                     53: .I edit
                     54: or \fIex\fP.
                     55: Fuller explanations of the editors are available
                     56: in the documents
                     57: .I
                     58: Edit: A Tutorial
                     59: .R
                     60: (a self-teaching introduction) and the
                     61: .I
                     62: Ex Reference Manual
                     63: .R
                     64: (the comprehensive reference source for
                     65: both \fIedit\fP and \fIex\fP).
                     66: Both of these writeups are available in the
                     67: Computing Services Library.
                     68: .PP
                     69: In the examples included with the
                     70: summary, commands and text entered by
                     71: the user are printed in \fBboldface\fR to
                     72: distinguish them from responses printed
                     73: by the computer.
                     74: .sp 0.45v
                     75: .LP
                     76: .B
                     77: The Editor Buffer
                     78: .PP
                     79: In order to perform its tasks
                     80: the editor sets aside a temporary
                     81: work space,
                     82: called a \fIbuffer\fR,
                     83: separate from the user's permanent
                     84: file.
                     85: Before starting to work on an existing
                     86: file the editor makes a copy of it in the
                     87: buffer, leaving the original untouched.
                     88: All editing changes are made to the
                     89: buffer copy, which must then
                     90: be written back to the permanent
                     91: file in order to update the
                     92: old version.
                     93: The buffer disappears
                     94: at the end of the editing session.
                     95: .sp 0.45v
                     96: .LP
                     97: .B
                     98: Editing: Command and Text Input Modes
                     99: .PP
                    100: .R
                    101: During an editing session there are
                    102: two usual modes of operation:
                    103: \fIcommand\fP mode and \fItext input\fP
                    104: mode.
                    105: (This disregards, for the moment,
                    106: .I open
                    107: and
                    108: .I visual
                    109: modes, discussed below.)
                    110: In command mode, the editor issues a
                    111: colon prompt (:)
                    112: to show that it is ready to
                    113: accept and execute a command.
                    114: In text input mode, on the other hand, there is
                    115: no prompt and the editor merely accepts text to
                    116: be added to the buffer.
                    117: Text input mode is initiated by the commands
                    118: \fIappend\fP, \fIinsert\fP, and \fIchange\fP,
                    119: and is terminated by typing a period as the
                    120: first and only character on a line.
                    121: .sp 0.45v
                    122: .LP
                    123: .B
                    124: Line Numbers and Command Syntax
                    125: .PP
                    126: .R
                    127: The editor keeps track of lines of text
                    128: in the buffer by numbering them consecutively
                    129: starting with 1 and renumbering
                    130: as lines are added or deleted.
                    131: At any given time the editor is positioned
                    132: at one of these lines; this position is
                    133: called the \fIcurrent line\fP.
                    134: Generally, commands that change the
                    135: contents of the buffer print the
                    136: new current line at the end of their
                    137: execution.
                    138: .PP
                    139: Most commands can be preceded by one or two
                    140: line-number addresses which indicate the lines
                    141: to be affected.
                    142: If one number is given the command operates on
                    143: that line only; if two, on an inclusive range
                    144: of lines.
                    145: Commands that can take line-number prefixes also
                    146: assume default prefixes if none are given.
                    147: The default assumed by each command is designed
                    148: to make it convenient to use in many instances
                    149: without any line-number prefix.
                    150: For the most part, a command used without a
                    151: prefix operates on the current line,
                    152: though exceptions to this rule should be noted.
                    153: The \fIprint\fP command
                    154: by itself, for instance, causes
                    155: one line, the current line, to be
                    156: printed at the terminal.
                    157: .PP
                    158: The summary shows the number of line addresses
                    159: that can be
                    160: prefixed to each command as well as
                    161: the defaults assumed if they are omitted.
                    162: For example,
                    163: .I (.,.)
                    164: means that up to 2 line-numbers may be given,
                    165: and that if none is given the
                    166: command operates on the current line.
                    167: (In the address prefix notation, ``.'' stands
                    168: for the current line and ``$'' stands for
                    169: the last line of the buffer.)
                    170: If no such notation appears, no
                    171: line-number prefix may be used.
                    172: .PP
                    173: Some commands take trailing
                    174: information;
                    175: only
                    176: the more important instances of this
                    177: are mentioned in the summary.
                    178: .sp 0.25v
                    179: .LP
                    180: .B
                    181: Open and Visual Modes
                    182: .PP
                    183: .R
                    184: Besides command and text input modes,
                    185: .I ex
                    186: and
                    187: .I edit
                    188: provide on some CRT terminals other modes of editing,
                    189: .I open
                    190: and
                    191: .I visual .
                    192: In these modes the cursor can
                    193: be moved to individual words
                    194: or characters in a line.
                    195: The commands then given are very different
                    196: from the standard editor commands; most do not appear on the screen when
                    197: typed.
                    198: .I
                    199: An Introduction to Display Editing with Vi
                    200: .R
                    201: provides a full discussion.
                    202: .sp 0.25v
                    203: .LP
                    204: .B
                    205: Special Characters
                    206: .PP
                    207: .R
                    208: .fi
                    209: Some characters take on special meanings
                    210: when used in context searches
                    211: and in patterns given to the \fIsubstitute\fP command.
                    212: For \fIedit\fR, these are ``^'' and ``$'',
                    213: meaning the beginning and end of a line,
                    214: respectively.
                    215: .I Ex
                    216: has the following additional special characters:
                    217: .B
                    218: .ce 1
                    219: \&.     &     *     [     ]     ~
                    220: .R
                    221: To use one of the special characters as its
                    222: simple graphic representation
                    223: rather than with its special meaning,
                    224: precede it by a backslash (\\).
                    225: The backslash always has a special meaning.
                    226: .1C
                    227: .rm LF
                    228: .rm RF
                    229: .rm CF
                    230: .nr FM 0.4
                    231: .TS
                    232: cp10 cp10 cp10 cp10
                    233: ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
                    234: Name   Abbr    Description     Examples
                    235: .sp 1.75
                    236: (.)\fBappend   a       T{
                    237: Begins text input mode,
                    238: adding lines to the buffer after
                    239: the line specified. Appending continues
                    240: until ``.'' is typed alone at the
                    241: beginning of a new line, followed by
                    242: a carriage return. \fI0a\fR places
                    243: lines at the beginning of the buffer.
                    244: T}     T{
                    245: .nf
                    246: \fR:\fBa
                    247: Three lines of text
                    248: are added to the buffer
                    249: after the current line.
                    250: \*p
                    251: .R
                    252: \*c
                    253: .fi
                    254: T}
                    255: .SP
                    256: \fR(.,.)\fBchange      c       T{
                    257: Deletes indicated line(s) and
                    258: initiates text input mode to
                    259: replace them with new text which follows.
                    260: New text is terminated the same way
                    261: as with \fIappend\fR.
                    262: T}     T{
                    263: .nf
                    264: :\fB5,6c
                    265: Lines 5 and 6 are
                    266: deleted and replaced by
                    267: these three lines.
                    268: \*p
                    269: .R
                    270: \*c
                    271: .fi
                    272: T}
                    273: .SP
                    274: \fR(.,.)\fBcopy \fIaddr        co      T{
                    275: Places a copy of the specified lines
                    276: after the line indicated by \fIaddr\fR.
                    277: The example places a copy of lines 8 through
                    278: 12, inclusive, after line 25.
                    279: T}     T{
                    280: .nf
                    281: \fR:\fB8,12co 25
                    282: \fRLast line copied is printed
                    283: \fR\*c
                    284: .fi
                    285: T}
                    286: .SP
                    287: \fR(.,.)\fBdelete      d       T{
                    288: Removes lines from the buffer
                    289: and prints the current line after the deletion.
                    290: T}     T{
                    291: .nf
                    292: \fR:\fB13,15d
                    293: \fRNew current line is printed
                    294: \*c
                    295: .fi
                    296: T}
                    297: .TE
                    298: .sp 0.5v
                    299: .TS
                    300: ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
                    301: T{
                    302: \fBedit \fIfile\fP
                    303: .br
                    304: \fBedit! \fIfile\fP
                    305: T}     T{
                    306: e
                    307: .br
                    308: e!
                    309: T}     T{
                    310: .fi
                    311: \fRClears the editor buffer and then
                    312: copies into it the named \fIfile\fR,
                    313: which becomes the current file.
                    314: This is a way of shifting to a different
                    315: file
                    316: without leaving the editor.
                    317: The editor issues a warning
                    318: message if this command is used before
                    319: saving changes
                    320: made to the file already in the buffer;
                    321: using the form \fBe!\fR overrides this protective mechanism.
                    322: T}     T{
                    323: .nf
                    324: \fR:\fBe ch10\fR
                    325: No write since last change
                    326: :\fBe! ch10\fR
                    327: "ch10" 3 lines, 62 characters
                    328: \*c
                    329: .fi
                    330: T}
                    331: .SP
                    332: \fBfile \fIname\fR     f       T{
                    333: \fRIf followed by a \fIname\fR, renames
                    334: the current file to \fIname\fR.
                    335: If used without \fIname\fR, prints
                    336: the name of the current file.
                    337: T}     T{
                    338: .nf
                    339: \fR:\fBf ch9
                    340: \fR"ch9" [Modified] 3 lines ...
                    341: :\fBf
                    342: \fR"ch9" [Modified] 3 lines ...
                    343: \*c
                    344: .fi
                    345: T}
                    346: .SP
                    347: (1,$)\fBglobal g       \fBglobal/\fIpattern\fB/\fIcommands     T{
                    348: .nf
                    349: :\fBg/nonsense/d
                    350: \fR\*c
                    351: .fi
                    352: T}
                    353: \fR(1,$)\fBglobal!     g!\fR or \fBv   T{
                    354: Searches the entire buffer (unless a smaller
                    355: range is specified by line-number prefixes) and
                    356: executes \fIcommands\fR on every line with
                    357: an expression matching \fIpattern\fR.
                    358: The second form, abbreviated
                    359: either \fBg!\fR or \fBv\fR,
                    360: executes \fIcommands\fR on lines that \fIdo
                    361: not\fR contain the expression \fIpattern\fR.
                    362: T}     \^
                    363: .SP
                    364: \fR(.)\fBinsert        i       T{
                    365: Inserts new lines of text immediately before the specified line.
                    366: Differs from
                    367: .I append
                    368: only in that text is placed before, rather than after, the indicated line.
                    369: In other words, \fB1i\fR has the same effect as \fB0a\fR.
                    370: T}     T{
                    371: .nf
                    372: :\fB1i
                    373: These lines of text will
                    374: be added prior to line 1.
                    375: \&.
                    376: \fR:
                    377: .fi
                    378: T}     \^
                    379: .SP
                    380: \fR(.,.+1)\fBjoin      j       T{
                    381: Join lines together, adjusting white space (spaces
                    382: and tabs) as necessary.
                    383: T}     T{
                    384: .nf
                    385: :\fB2,5j\fR
                    386: Resulting line is printed
                    387: :
                    388: .fi
                    389: T}     \^
                    390: .TE
                    391: .bp
                    392: .TS
                    393: cp10 cp10 cp10 cp10
                    394: ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
                    395: Name   Abbr    Description     Examples
                    396: .sp 1.75
                    397: \fR(.,.)\fBlist        l       T{
                    398: \fRPrints lines in a more
                    399: unambiguous way than the \fIprint\fR
                    400: command does. The end of a line,
                    401: for example, is marked with a ``$'',
                    402: and tabs printed as ``^I''.
                    403: T}     T{
                    404: .nf
                    405: :\fB9l
                    406: \fRThis is line 9$
                    407: \*c
                    408: .fi
                    409: T}
                    410: .TE
                    411: .sp 0.5v
                    412: .TS
                    413: ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
                    414: \fR(.,.)\fBmove \fIaddr\fB     m       T{
                    415: \fRMoves the specified lines
                    416: to a position after the line
                    417: indicated by \fIaddr\fR.
                    418: T}     T{
                    419: .nf
                    420: \fR:\fB12,15m 25\fR
                    421: New current line is printed
                    422: \*c
                    423: .fi
                    424: T}
                    425: .SP
                    426: \fR(.,.)\fBnumber      nu      T{
                    427: Prints each line preceded
                    428: by its buffer line number.
                    429: T}     T{
                    430: .nf
                    431: \fR:\fBnu
                    432: \0\0\fR10\0 This is line 10
                    433: \*c
                    434: .fi
                    435: T}
                    436: .SP
                    437: \fR(.)\fBopen  o       T{
                    438: Too involved to discuss here,
                    439: but if you enter open mode
                    440: accidentally, press
                    441: the \s-2ESC\s0 key followed by
                    442: \fBq\fR to
                    443: get back into normal editor
                    444: command mode.
                    445: \fIEdit\fP is designed to
                    446: prevent accidental use of
                    447: the open command.
                    448: T}     
                    449: .SP
                    450: \fBpreserve    pre     T{
                    451: Saves a copy of the current buffer contents as though the system had
                    452: just crashed.  This is for use in an emergency when a
                    453: .I write
                    454: command has failed and you don't know how else to save your work.\(dg
                    455: T}     T{
                    456: .nf
                    457: :\fBpreserve\fR
                    458: File preserved.
                    459: :
                    460: .fi
                    461: T}
                    462: .SP
                    463: \fR(.,.)\fBprint       p       Prints the text of line(s).     T{
                    464: .nf
                    465: :\fB+2,+3p\fR
                    466: The second and third lines
                    467: after the current line
                    468: :
                    469: .fi
                    470: T}
                    471: .TE
                    472: .FS
                    473: \(dg Seek assistance from a consultant as soon as possible
                    474: after saving a file with the
                    475: .I preserve
                    476: command, because the file is saved on system storage space for only one week.
                    477: .FE
                    478: .SP
                    479: .nf
                    480: .TS
                    481: ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
                    482: T{
                    483: .nf
                    484: \fBquit
                    485: quit!
                    486: .fi
                    487: T}     T{
                    488: .nf
                    489: q
                    490: q!
                    491: T}     T{
                    492: .fi
                    493: \fREnds the editing session.
                    494: You will receive a
                    495: warning if you have changed the buffer
                    496: since last writing its contents
                    497: to the file. In this event you
                    498: must either type \fBw\fR to write,
                    499: or type \fBq!\fR to exit from
                    500: the editor without saving your changes.
                    501: T}     T{
                    502: .nf
                    503: \fR:\fBq
                    504: \fRNo write since last change
                    505: :\fBq!
                    506: \fR%
                    507: .fi
                    508: T}
                    509: .SP
                    510: \fR(.)\fBread \fIfile\fP       r       T{
                    511: .fi
                    512: \fRPlaces a copy of \fIfile\fR in the
                    513: buffer after the specified line.
                    514: Address 0 is permissible and causes
                    515: the copy of \fIfile\fR to be placed
                    516: at the beginning of the buffer.
                    517: The \fIread\fP command does not
                    518: erase any text already in the buffer.
                    519: If no line number is specified,
                    520: \fIfile\fR is placed after the
                    521: current line.
                    522: T}     T{
                    523: .nf
                    524: \fR:\fB0r newfile
                    525: \fR"newfile" 5 lines, 86 characters
                    526: \*c
                    527: .fi
                    528: T}
                    529: .SP
                    530: \fBrecover \fIfile\fP  rec     T{
                    531: .fi
                    532: Retrieves a copy of the editor buffer
                    533: after a system crash, editor crash,
                    534: phone line disconnection, or
                    535: \fIpreserve\fR command.
                    536: T}
                    537: .SP
                    538: \fR(.,.)\fBsubstitute  s       T{
                    539: .nf
                    540: \fBsubstitute/\fIpattern\fB/\fIreplacement\fB/
                    541: substitute/\fIpattern\fB/\fIreplacement\fB/gc
                    542: .fi
                    543: \fRReplaces the first occurrence of \fIpattern\fR
                    544: on a line
                    545: with \fIreplacement\fP.
                    546: Including a \fBg\fR after the command
                    547: changes all occurrences of \fIpattern\fP
                    548: on the line.
                    549: The \fBc\fR option allows the user to
                    550: confirm each substitution before it is
                    551: made; see the manual for details.
                    552: T}     T{
                    553: .nf
                    554: :\fB3p
                    555: \fRLine 3 contains a misstake
                    556: :\fBs/misstake/mistake/
                    557: \fRLine 3 contains a mistake
                    558: \*c
                    559: .fi
                    560: T}
                    561: .TE
                    562: .bp
                    563: .TS
                    564: cp10 cp10 cp10 cp10
                    565: ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
                    566: Name   Abbr    Description     Examples
                    567: .sp 1.75
                    568: \fBundo        u       T{
                    569: .fi
                    570: \fRReverses the changes made in
                    571: the buffer by the last buffer-editing
                    572: command.
                    573: Note that this example contains
                    574: a notification about the number of
                    575: lines affected.
                    576: T}     T{
                    577: .nf
                    578: \fR:\fB1,15d
                    579: \fR15 lines deleted
                    580: new line number 1 is printed
                    581: :\fBu
                    582: \fR15 more lines in file ...
                    583: old line number 1 is printed
                    584: \*c
                    585: .fi
                    586: T}
                    587: .SP
                    588: \fR(1,$)\fBwrite \fIfile\fR    w       T{
                    589: .fi
                    590: \fRCopies data from the buffer onto
                    591: a permanent file. If no \fIfile\fR
                    592: is named, the current filename
                    593: is used.
                    594: The file is automatically created
                    595: if it does not yet exist.
                    596: A response containing the number of
                    597: lines and characters in the file
                    598: indicates that the write
                    599: has been completed successfully.
                    600: The editor's built-in protections
                    601: against overwriting existing files
                    602: will in some circumstances
                    603: inhibit a write.
                    604: The form \fBw!\fR forces the
                    605: write, confirming that
                    606: an existing file is to be overwritten.
                    607: T}     T{
                    608: .nf
                    609: \fR:\fBw
                    610: \fR"file7" 64 lines, 1122 characters
                    611: :\fBw file8
                    612: \fR"file8" File exists ...
                    613: :\fBw! file8
                    614: \fR"file8" 64 lines, 1122 characters
                    615: \*c
                    616: .fi
                    617: T}
                    618: \fR(1,$)\fBwrite! \fIfile\fP   w!      \^      \^
                    619: .TE
                    620: .sp 0.5v
                    621: .TS
                    622: ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
                    623: \fR(.)\fBz \fIcount\fP z       T{
                    624: .fi
                    625: \fRPrints a screen full of text starting
                    626: with the line indicated;
                    627: or, if \fIcount\fR is specified,
                    628: prints that number of lines.
                    629: Variants of the \fIz\fR command
                    630: are described in the manual.
                    631: T}     
                    632: .SP
                    633: \fB!\fIcommand         T{
                    634: .fi
                    635: Executes the remainder of the line
                    636: after \fB!\fR as a \*U command.
                    637: The buffer is unchanged by this, and
                    638: control is returned to the editor when
                    639: the execution of \fIcommand\fR is complete.
                    640: T}     T{
                    641: .nf
                    642: \fR:\fB!date
                    643: \fRFri Jun 9 12:15:11 PDT 1978
                    644: !
                    645: \*c
                    646: .fi
                    647: T}
                    648: .SP
                    649: \fRcontrol-d           T{
                    650: .fi
                    651: Prints the next \fIscroll\fR of text,
                    652: normally half of a screen. See the
                    653: manual for details of the \fIscroll\fR
                    654: option.
                    655: T}
                    656: .SP
                    657: \fR(.+1)<cr>           T{
                    658: .fi
                    659: An address alone followed by a carriage
                    660: return causes the line to be printed.
                    661: A carriage return by itself prints the
                    662: line following the current line.
                    663: T}     T{
                    664: .nf
                    665: :\fR<cr>
                    666: the line after the current line
                    667: \*c
                    668: .fi
                    669: T}
                    670: .TE
                    671: .sp 0.5v
                    672: .TS
                    673: ltw(1.0i) lt2w(0.40i)fB ltw(3.0i) ltw(1.8i).
                    674: \fB/\fIpattern\fB/             T{
                    675: .fi
                    676: \fRSearches for the next line in which
                    677: \fIpattern\fR occurs and prints it.
                    678: T}     T{
                    679: .nf
                    680: \fR:\fB/This pattern/
                    681: \fRThis pattern next occurs here.
                    682: \*c
                    683: .fi
                    684: T}
                    685: .SP
                    686: \fB//          T{
                    687: Repeats the most recent search.
                    688: T}     T{
                    689: .nf
                    690: \fR:\fB//
                    691: \fRThis pattern also occurs here.
                    692: \*c
                    693: .fi
                    694: T}
                    695: .SP
                    696: \fB?\fIpattern\fB?             T{
                    697: Searches in the reverse direction
                    698: for \fIpattern\fP.
                    699: T}     
                    700: .SP
                    701: \fB??          T{
                    702: Repeats the most recent search,
                    703: moving in the reverse direction
                    704: through the buffer.
                    705: T}
                    706: .TE
                    707: 

unix.superglobalmegacorp.com

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