2 .\" The Regents of the University of California. All rights reserved.
3 .\" Copyright (c) 1994, 1995, 1996
4 .\" Keith Bostic. All rights reserved.
6 .\" See the LICENSE file for redistribution information.
8 .\" @(#)ex.cmd.roff 8.41 (Berkeley) 8/17/96
10 .SH 1 "Ex Description"
12 The following words have special meanings for
17 The end-of-file character is used to scroll the screen in the
20 This character is normally
22 However, whatever character is set for the current terminal is supported
27 A single-line address, given in any of the forms described in the
35 A line, or a pair of line addresses, separated by a comma or semicolon.
36 (See the section entitled
38 for more information.)
39 The default for range is the current line
47 The starting address must be less than, or equal to, the ending address.
50 A positive integer, specifying the number of lines to be affected by
51 the command; the default is 1.
52 Generally, a count past the end-of-file may be specified, e.g. the
55 in a 10 line file is acceptable, and will print from the current line
56 through the last line in the file.
59 One or more of the characters
64 When a command that accepts these flags completes, the addressed line(s)
65 are written out as if by the corresponding
71 In addition, any number of
75 characters can be specified before, after, or during the flags, in which
76 case the line written is not necessarily the one affected by the command,
77 but rather the line addressed by the offset address specified.
83 A pattern used to derive a pathname; the default is the current file.
84 File names are subjected to normal
88 Anywhere a file name is specified, it is also possible to use
91 This will be replaced with a temporary file name which can be used
92 for temporary work, e.g.
94 creates and edits a new file.
96 If both a count and a range are specified for commands that use either,
97 the starting line for the command is the
99 line addressed by the range, and
101 subsequent lines are affected by the command, e.g. the command
103 prints out lines 3, 4, 5 and 6.
105 When only a line or range is specified, with no command, the implied
112 The command used is the most recent of the three commands to have been
113 used (including any use as a flag).
114 If none of these commands have been used before, the
116 command is the implied command.
117 When no range or count is specified and the command line is a blank line,
118 the current line is incremented by 1 and then the current line is displayed.
120 Zero or more whitespace characters may precede or follow the addresses,
121 count, flags, or command name.
122 Any object following a command name (such as buffer, file, etc.),
123 that begins with an alphabetic character,
124 should be separated from the command name by at least one whitespace
127 Any character, including
128 .LI <carriage-return> ,
132 retain their literal value when preceded by a backslash.
135 The following section describes the commands available in the
138 In each entry below, the tag line is a usage synopsis for the command.
140 Each command can be entered as the abbreviation
141 (those characters in the synopsis command word preceding the
144 the full command (all characters shown for the command word,
150 or any leading subset of the full command down to the abbreviation.
151 For example, the args command (shown as
162 command described below notes the new current line after it
163 is executed, as well as any options that affect the command.
164 .\" I cannot get a double quote to print to save my life. The ONLY way
165 .\" I've been able to get this to work is with the .tr command.
172 Command lines beginning with the double-quote character
175 This permits comments in editor scripts and startup files.
181 Write the next N lines, where N is the value of the
184 The command is the end-of-file terminal character, which may be
185 different on different terminals.
186 Traditionally, it is the
192 command ignored any preceding count, and the
194 character was ignored unless it was entered as the first character
196 This implementation treats it as a command
198 if entered as the first character of the command line, and otherwise
199 treats it as any other character.
202 Set to the last line written.
210 .Ip "[range]! argument(s)"
211 Execute a shell command, or filter lines through a shell command.
212 In the first synopsis, the remainder of the line after the
214 character is passed to the program named by the
216 option, as a single argument.
218 Within the rest of the line,
222 are expanded into the current and alternate pathnames, respectively.
225 is expanded with the command text of the previous
228 (Therefore, the command
233 The special meanings of
238 can be overridden by escaping them with a backslash.
243 command has yet been executed, it is an error to use an unescaped
250 do shell expansion on the strings provided as arguments.
251 If any of the above expansions change the command the user entered,
252 the command is redisplayed at the bottom of the screen.
255 then executes the program named by the
259 flag followed by the arguments (which are bundled into a single argument).
263 command is permitted in an empty file.
265 If the file has been modified since it was last completely written,
268 command will warn you.
272 character is displayed when the command completes.
274 In the second form of the
276 command, the remainder of the line after the
278 is passed to the program named by the
280 option, as described above.
281 The specified lines are passed to the program as standard input,
282 and the standard and standard error output of the program replace
286 Unchanged if no range was specified, otherwise set to the first
296 .IP "[range] # [count] [flags]"
298 .Ip "[range] nu[mber] [count] [flags]"
299 Display the selected lines, each preceded with its line number.
301 The line number format is
303 followed by two spaces.
306 Set to the last line displayed.
317 Each line in the named buffer is executed as an
320 If no buffer is specified, or if the specified buffer is
324 the last buffer executed is used.
326 .IP "[range] <[< ...] [count] [flags]"
327 Shift lines left or right.
328 The specified lines are shifted to the left (for the
330 command) or right (for the
332 command), by the number of columns specified by the
335 Only leading whitespace characters are deleted when shifting left;
336 once the first column of the line contains a nonblank character,
339 command will succeed, but the line will not be modified.
341 If the command character
345 is repeated more than once, the command is repeated once for each
346 additional command character.
349 If the current line is set to one of the lines that are affected
350 by the command, it is unchanged.
351 Otherwise, it is set to the first nonblank character of the lowest
352 numbered line shifted.
359 .IP "[line] = [flags]"
360 Display the line number of
362 (which defaults to the last line in the file).
370 .IP "[range] >[> ...] [count] [flags]"
372 The specified lines are shifted to the right by the number of columns
375 option, by inserting tab and space characters.
376 Empty lines are not changed.
378 If the command character
380 is repeated more than once, the command is repeated once for each
381 additional command character.
384 Set to the last line modified by the command.
391 .IP "ab[brev] lhs rhs"
392 Add an abbreviation to the current abbreviation list.
393 When inserting text in
395 each time a non-word character is entered after a word character,
396 a set of characters ending at the word character are checked for
399 If a match is found, they are replaced with
401 The set of characters that are checked for a match are defined as follows,
402 for inexplicable historical reasons.
403 If only one or two characters were entered before the non-word character
404 that triggered the check,
405 and after the beginning of the insertion,
406 or the beginning of the line or the file,
409 character that was entered,
410 then the one or the both characters are checked for a match.
411 Otherwise, the set includes both characters,
412 as well as the characters that precede them that are the same word
413 class (i.e. word or non-word) as the
415 to last character entered before the non-word character that triggered
418 .LI <blank> character,
419 the beginning of the insertion,
420 or the beginning of the line or the file.
422 For example, the abbreviations:
429 :abbreviate #i #include
430 :abbreviate /*#i /*#include
433 will all work, while the abbreviations:
439 :abbreviate a#i A#include
440 :abbreviate /* /********************
443 will not work, and are not permitted by
446 To keep the abbreviation expansion from happening,
447 the character immediately following the
449 characters should be quoted with a
455 is itself subject to both further abbreviation expansion and further
464 .IP "[line] a[ppend][!]"
465 The input text is appended to the specified line.
466 If line 0 is specified, the text is inserted at the beginning of the file.
467 Set to the last line input.
468 If no lines are input, then set to
470 or to the first line of the file if a
473 Following the command name with a
477 option to be toggled for the duration of the command.
490 Display the argument list.
491 The current argument is displayed inside of
496 The argument list is the list of operands specified on startup,
497 which can be replaced using the
510 Background the current screen.
511 The screen is unchanged,
512 but is no longer accessible and disappears from the display.
515 command to bring the screen back to the display foreground.
518 Set to the current line when the screen was last edited.
523 .IP "[range] c[hange][!] [count]"
524 Replace the lines with input text.
525 Following the command name with a
529 option to be toggled for the duration of the command.
532 Set to the last line input, or, if no lines were input,
533 set to the line before the target line, or to the first
534 line of the file if there are no lines preceding the target line.
544 .IP "chd[ir][!] [directory]"
545 .Ip "cd[!] [directory]"
546 Change the current working directory.
549 argument is subjected to
552 When invoked with no directory argument and the
554 environment variable is set, the directory named by the
556 environment variable becomes the new current directory.
557 Otherwise, the new current directory becomes the directory returned
564 command will fail if the file has been modified since the last complete
566 You can override this check by appending a
568 character to the command.
579 .IP "[range] co[py] line [flags]"
580 .Ip "[range] t line [flags]"
581 Copy the specified lines (range) after the destination line.
582 Line 0 may be specified to insert the lines at the beginning of
591 .IP "cs[cope] command [args]"
595 For more information, see the section of the reference manual entitled
596 .QB "Tags, Tag Stacks, and Cscope" .
598 .IP "[range] d[elete] [buffer] [count] [flags]"
599 Delete the lines from the file.
600 The deleted text is saved in the specified buffer, or, if no buffer
601 is specified, in the unnamed buffer.
602 If the command name is followed by a letter that could be interpreted
603 as either a buffer name or a flag value (because neither a
609 treats the letter as a
611 value if the letter immediately follows the command name,
612 without any whitespace separation.
613 If the letter is preceded by whitespace characters,
614 it treats it as a buffer name.
617 Set to the line following the deleted lines,
618 or to the last line if the deleted lines were at the end.
623 .IP "di[splay] b[uffers] | c[onnections] | s[creens] | t[ags]"
626 connections, screens or tags.
629 command takes one of three additional arguments, which are as follows:
632 Display all buffers (including named, unnamed, and numeric)
635 Display the source directories for all attached
639 Display the file names of all background screens.
641 Display the tags stack.
650 .IP "e[dit][!] [+cmd] [file]"
651 .Ip "ex[!] [+cmd] [file]"
652 Edit a different file.
653 If the current buffer has been modified since the last complete write,
654 the command will fail.
655 You can override this by appending a
657 character to the command name.
661 option is specified, that
663 command will be executed in the new file.
666 command may be used, although the most common use of this feature is
667 to specify a line number or search pattern to set the initial location
670 Capitalizing the first letter of the command, i.e.
676 mode, will edit the file in a new screen.
677 In this case, any modifications to the current file are ignored.
680 If you have previously edited the file, the current line will be set
681 to your last position in the file.
682 If that position does not exist, or you have not previously edited the
683 file, the current line will be set to the first line of the file if
686 mode, and the last line of the file if you are in
692 .IP "exu[sage] [command]"
698 is specified, a usage statement for that command is displayed.
699 Otherwise, usage statements for all
701 commands are displayed.
710 Display and optionally change the file name.
711 If a file name is specified, the current pathname is changed to the
713 The current pathname, the number of lines, and the current position
714 in the file are displayed.
725 Foreground the specified screen.
726 If the argument name doesn't exactly match the name of a file displayed
727 by a background screen,
728 it is compared against the last component of each of the file names.
729 If no background screen is specified,
730 the first background screen is foregrounded.
733 foregrounding causes the current screen to be swapped with the backgrounded
735 Capitalizing the first letter of the command, i.e.
737 will foreground the backgrounded screen in a new screen instead of
738 swapping it with the current screen.
741 Set to the current line when the screen was last edited.
746 .IP "[range] g[lobal] /pattern/ [commands]"
748 .Ip "[range] v /pattern/ [commands]"
749 Apply commands to lines matching (or not matching) a pattern.
750 The lines within the given range that match
754 the given pattern are selected.
757 command(s) are executed with the current line
759 set to each selected line.
760 If no range is specified, the entire file is searched for matching,
761 or not matching, lines.
763 Multiple commands can be specified, one per line, by escaping each
765 character with a backslash, or by separating commands with a
768 If no commands are specified, the command defaults to the
777 commands, the input text must be part of the global command line.
778 In this case, the terminating period can be omitted if it ends the commands.
782 command may also be specified as one of the
785 In this mode, input is taken from the terminal.
790 mode causes the next line matching the pattern to be selected and
792 to be reentered, until the list is exhausted.
799 commands cannot be used as part of these commands.
806 are turned off for the duration of the
813 The last line modified.
829 Display a help message.
837 .IP "[line] i[nsert][!]"
838 The input text is inserted before the specified line.
839 Following the command name with a
843 option setting to be toggled for the duration of this command.
846 Set to the last line input; if no lines were input,
847 set to the line before the target line, or to the first line
848 of the file if there are no lines preceding the target line.
856 .IP "[range] j[oin][!] [count] [flags]"
857 Join lines of text together.
863 command specifies that the last line of the
867 subsequent lines will be joined.
868 (Note, this differs by one from the general rule where only
870 subsequent lines are affected.)
872 If the current line ends with a whitespace character, all whitespace
873 is stripped from the next line.
874 Otherwise, if the next line starts with a open parenthesis
877 Otherwise, if the current line ends with a question mark
884 Otherwise, insert a single space.
888 character to the command name causes a simpler join with no
889 white-space processing.
897 .IP "[range] l[ist] [count] [flags]"
898 Display the lines unambiguously.
899 Tabs are displayed as
901 and the end of the line is marked with a
906 Set to the last line displayed.
913 .IP "map[!] [lhs rhs]"
914 Define or display maps (for
922 are not specified, the current set of command mode maps are displayed.
925 character is appended to to the command,
926 the text input mode maps are displayed.
930 character sequence is entered in
932 the action is as if the corresponding
937 character is appended to the command name,
938 the mapping is effective during text input mode,
939 otherwise, it is effective during command mode.
942 to have two different macro definitions at the same time: one for command
943 mode and one for input mode.
945 Whitespace characters require escaping with a
947 character to be entered in the
949 string in visual mode.
951 Normally, keys in the
953 string are remapped (see the
956 and it is possible to create infinite loops.
957 However, keys which map to themselves are not further remapped,
958 regardless of the setting of the
961 For example, the command
971 To exit an infinitely looping map, use the terminal
984 .IP "[line] ma[rk] <character>"
985 .Ip "[line] k <character>"
986 Mark the line with the mark
992 can then be used as an address in any command that uses one.
1000 .IP "[range] m[ove] line"
1001 Move the specified lines after the target line.
1002 A target line of 0 places the lines at the beginning of the file.
1005 Set to the first of the moved lines.
1010 .IP "mk[exrc][!] file"
1011 Write the abbreviations, editor options and maps to the specified
1013 Information is written in a form which can later be read back in
1023 This check can be overridden by appending a
1025 character to the command.
1033 .IP "n[ext][!] [file ...]"
1034 Edit the next file from the argument list.
1037 command will fail if the file has been modified since the last complete
1039 This check can be overridden by appending the
1041 character to the command name.
1042 The argument list can optionally be replaced by specifying a new one
1043 as arguments to this command.
1044 In this case, editing starts with the first file on the new list.
1046 Capitalizing the first letter of the command, i.e.
1050 mode, will set the argument list and edit the file in a new screen.
1051 In this case, any modifications to the current file are ignored.
1054 Set as described for the
1058 Affected by the options
1064 .IP "[line] o[pen] /pattern/ [flags]"
1066 Open mode is the same as being in
1068 but with a one-line window.
1071 commands are available.
1072 If a match is found for the optional RE argument,
1073 the cursor is set to the start of the matching pattern.
1075 .i "This command is not yet implemented."
1078 Unchanged, unless the optional RE is specified, in which case it is
1079 set to the line where the matching pattern is found.
1087 Save the file in a form that can later be recovered using the
1091 When the file is preserved, an email message is sent to the user.
1100 Edit the previous file from the argument list.
1103 command will fail if the file has been modified since the last complete
1105 This check can be overridden by appending the
1107 character to the command name.
1109 Capitalizing the first letter of the command, i.e.
1113 mode, will edit the file in a new screen.
1114 In this case, any modifications to the current file are ignored.
1117 Set as described for the
1121 Affected by the options
1128 .IP "[range] p[rint] [count] [flags]"
1129 Display the specified lines.
1132 Set to the last line displayed.
1141 .IP "[line] pu[t] [buffer]"
1142 Append buffer contents to the current line.
1143 If a buffer is specified, its contents are appended to the line,
1144 otherwise, the contents of the unnamed buffer are used.
1147 Set to the line after the current line.
1153 End the editing session.
1154 If the file has been modified since the last complete write, the
1157 This check may be overridden by appending a
1159 character to the command.
1161 If there are more files to edit, the
1166 character to the command name or entering two
1174 in a row) will override this check and the editor will exit.
1182 .IP "[line] r[ead][!] [file]"
1184 A copy of the specified file is appended to the line.
1187 is 0, the copy is inserted at the beginning of the file.
1188 If no file is specified, the current file is read; if there is no
1191 becomes the current file.
1192 If there is no current file and no
1194 is specified, then the
1204 is treated as if it were a shell command, and passed to the program
1208 The standard and standard error outputs of that command are read into
1209 the file after the specified line.
1210 The special meaning of the
1212 character can be overridden by escaping it with a backslash
1219 the current line is set to the last line read.
1222 the current line is set to the first line read.
1227 .IP "rec[over] file"
1230 if it was previously saved.
1231 If no saved file by that name exists, the
1233 command behaves equivalently to the
1238 Set as described for the
1245 .IP "res[ize] [+|-]size"
1248 Grow or shrink the current screen.
1251 is a positive, signed number, the current screen is grown by that many lines.
1254 is a negative, signed number, the current screen is shrunk by that many lines.
1257 is not signed, the current screen is set to the specified
1259 Applicable only to split screens.
1268 Rewind the argument list.
1269 If the current file has been modified since the last complete write,
1273 This check may be overridden by appending the
1275 character to the command.
1277 Otherwise, the current file is set to the first file in the argument
1281 Set as described for the
1292 .IP "se[t] [option[=[value]] ...] [nooption ...] [option? ...] [all]"
1293 Display or set editor options.
1294 When no arguments are specified, the editor option
1296 and any editor options whose values have been changed from the
1297 default settings are displayed.
1300 is specified, the values of all of editor options are displayed.
1302 Specifying an option name followed by the character
1304 causes the current value of that option to be displayed.
1307 can be separated from the option name by whitespace characters.
1310 is necessary only for Boolean valued options.
1311 Boolean options can be given values by the form
1316 String and numeric options can be assigned by the form
1317 .QT "set option=value" .
1318 Any whitespace characters in strings can be included literally by preceding
1319 each with a backslash.
1320 More than one option can be set or listed by a single set command,
1321 by specifying multiple arguments, each separated from the next by
1322 whitespace characters.
1331 Run the shell program.
1332 The program named by the
1334 option is run with a
1336 (for interactive) flag.
1337 Editing is resumed when that program exits.
1350 commands from a file.
1352 commands may be nested.
1360 .IP "[range] s[ubstitute] [/pattern/replace/] [options] [count] [flags]"
1362 .Ip "[range] & [options] [count] [flags]"
1364 .Ip "[range] ~ [options] [count] [flags]"
1366 Replace the first instance of
1370 on the specified line(s).
1373 argument is not specified, the
1378 Any character other than an alphabetic, numeric, <blank> or backslash
1379 character may be used as the delimiter.
1385 (confirm), you will be prompted for confirmation before each replacement
1387 An affirmative response (in English, a
1389 character) causes the replacement to be made.
1390 A quit response (in English, a
1392 character) causes the
1394 command to be terminated.
1395 Any other response causes the replacement not to be made, and the
1402 (global), all nonoverlapping instances of
1404 in the line are replaced.
1408 version of the command is the same as not specifying a pattern
1409 or replacement string to the
1413 is replaced by the pattern and replacement information from the
1414 previous substitute command.
1418 version of the command is the same as
1422 except that the search pattern used is the last RE used in
1424 command, not necessarily the one used in the last
1428 For example, in the sequence
1443 command may be interrupted, using the terminal interrupt character.
1444 All substitutions completed before the interrupt are retained.
1447 Set to the last line upon which a substitution was made.
1461 Suspend the edit session.
1464 character to these commands turns off the
1466 option for the command.
1478 .IP "ta[g][!] tagstring"
1479 Edit the file containing the specified tag.
1480 If the tag is in a different file, then the new file is edited.
1481 If the current file has been modified since the last complete write,
1485 This check can be overridden by appending the
1487 character to the command name.
1491 command searches for
1493 in the tags file(s) specified by the
1498 for more information on tags files.)
1500 Capitalizing the first letter of the command, i.e.
1504 mode, will edit the file in a new screen.
1505 In this case, any modifications to the current file are ignored.
1508 Set to the line indicated by the tag.
1520 Edit the file containing the next context for the current tag.
1521 If the context is in a different file, then the new file is edited.
1522 If the current file has been modified since the last complete write,
1526 This check can be overridden by appending the
1528 character to the command name.
1530 Capitalizing the first letter of the command, i.e.
1534 mode, will edit the file in a new screen.
1535 In this case, any modifications to the current file are ignored.
1538 Set to the line indicated by the tag.
1547 .IP "tagp[op][!] [file | number]"
1548 Pop to the specified tag in the tags stack.
1555 command pops to the most recent entry on the tags stack.
1562 command pops to the most recent entry in the tags stack for that file,
1563 or numbered entry in the tags stack, respectively.
1566 command for information on displaying the tags stack.)
1568 If the file has been modified since the last complete write, the
1571 This check may be overridden by appending a
1573 character to the command name.
1576 Set to the line indicated by the tag.
1586 Edit the file containing the previous context for the current tag.
1587 If the context is in a different file, then the new file is edited.
1588 If the current file has been modified since the last complete write,
1592 This check can be overridden by appending the
1594 character to the command name.
1596 Capitalizing the first letter of the command, i.e.
1600 mode, will edit the file in a new screen.
1601 In this case, any modifications to the current file are ignored.
1604 Set to the line indicated by the tag.
1614 Pop to the least recent tag on the tags stack, clearing the tags stack.
1616 If the file has been modified since the last complete write, the
1619 This check may be overridden by appending a
1621 character to the command name.
1624 Set to the line indicated by the tag.
1633 .IP "una[bbrev] lhs"
1634 Delete an abbreviation.
1637 from the current list of abbreviations.
1646 Undo the last change made to the file.
1651 and map sequences are considered a single command.
1654 command alternates between these two states, and is its own inverse.
1657 Set to the last line modified by the command.
1662 .IP "unm[ap][!] lhs"
1663 Unmap a mapped string.
1664 Delete the command mode map definition for
1668 character is appended to the command name, delete the text input mode
1669 map definition instead.
1678 Display the version of the
1682 .IP "[line] vi[sual] [type] [count] [flags]"
1689 is optional, and can be
1697 command, to specify the position of the specified line in the screen
1699 (The default is to place the line at the top of the screen window.)
1702 specifies the number of lines that will initially be displayed.
1703 (The default is the value of the
1710 is specified, in which case it is set to that line.
1715 .IP "vi[sual][!] [+cmd] [file]"
1720 .QT "edit[!] [+cmd] [file]"
1723 Capitalizing the first letter of the command, i.e.
1725 will edit the file in a new screen.
1726 In this case, any modifications to the current file are ignored.
1728 .IP "viu[sage] [command]"
1734 is specified, a usage statement for that command is displayed.
1735 Otherwise, usage statements for all
1737 commands are displayed.
1745 .IP "[range] w[rite][!] [>>] [file]"
1746 .Ip "[range] w[rite] [!] [file]"
1748 .Ip "[range] wn[!] [>>] [file]"
1750 .Ip "[range] wq[!] [>>] [file]"
1752 The specified lines (the entire file, if no range is given) is written
1757 is not specified, the current pathname is used.
1760 is specified, and it exists, or if the current pathname was set using the
1762 command, and the file already exists, these commands will fail.
1765 character to the command name will override this check and the write
1766 will be attempted, regardless.
1768 Specifying the optional
1770 string will cause the write to be appended to the file, in which case
1771 no tests are made for the file already existing.
1773 If the file is preceded by a
1775 character, the program named by the shell edit option is
1776 invoked with file as its second argument, and the specified
1777 lines are passed as standard input to that command.
1780 in this usage must be separated from command name by at least one
1781 whitespace character.
1782 The special meaning of the
1784 may be overridden by escaping it with a backslash
1790 version of the write command will exit the editor after writing the file,
1791 if there are no further files to edit.
1794 character to the command name or entering two
1802 in a row) will override this check and the editor will exit,
1803 ignoring any files that have not yet been edited.
1807 version of the write command will move to the next file after writing
1808 the file, unless the write fails.
1820 .IP "[range] x[it][!] [file]"
1821 Write the file if it has been modified.
1822 The specified lines are written to
1824 if the file has been modified since the last complete write to any
1828 is specified, the entire file is written.
1832 command will exit the editor after writing the file,
1833 if there are no further files to edit.
1836 character to the command name or entering two
1844 in a row) will override this check and the editor will exit,
1845 ignoring any files that have not yet been edited.
1857 .IP "[range] ya[nk] [buffer] [count]"
1858 Copy the specified lines to a buffer.
1859 If no buffer is specified, the unnamed buffer is used.
1867 .IP "[line] z [type] [count] [flags]"
1873 lines following the specified line are displayed.
1881 argument changes the position at which
1883 is displayed on the screen by changing the number of lines
1884 displayed before and after
1888 characters may be used:
1891 Place the line at the bottom of the screen.
1893 Place the line at the top of the screen.
1895 Place the line in the middle of the screen.
1897 Write out count lines starting
1901 the net effect of this is that a
1905 command writes the previous page.
1909 on the screen with a line of hyphens displayed immediately before and
1911 The number of preceding and following lines of text displayed are
1912 reduced to account for those lines.
1916 Set to the last line displayed, with the exception of the
1919 where the current line is set to the line specified by the command.