1 .\" $NetBSD: ex.cmd.roff,v 1.1 2008/09/02 09:25:39 christos Exp $
4 .\" The Regents of the University of California. All rights reserved.
5 .\" Copyright (c) 1994, 1995, 1996
6 .\" Keith Bostic. All rights reserved.
8 .\" See the LICENSE file for redistribution information.
10 .\" @(#)ex.cmd.roff 8.41 (Berkeley) 8/17/96
12 .SH 1 "Ex Description"
14 The following words have special meanings for
19 The end-of-file character is used to scroll the screen in the
22 This character is normally
24 However, whatever character is set for the current terminal is supported
29 A single-line address, given in any of the forms described in the
37 A line, or a pair of line addresses, separated by a comma or semicolon.
38 (See the section entitled
40 for more information.)
41 The default for range is the current line
49 The starting address must be less than, or equal to, the ending address.
52 A positive integer, specifying the number of lines to be affected by
53 the command; the default is 1.
54 Generally, a count past the end-of-file may be specified, e.g. the
57 in a 10 line file is acceptable, and will print from the current line
58 through the last line in the file.
61 One or more of the characters
66 When a command that accepts these flags completes, the addressed line(s)
67 are written out as if by the corresponding
73 In addition, any number of
77 characters can be specified before, after, or during the flags, in which
78 case the line written is not necessarily the one affected by the command,
79 but rather the line addressed by the offset address specified.
85 A pattern used to derive a pathname; the default is the current file.
86 File names are subjected to normal
90 Anywhere a file name is specified, it is also possible to use
93 This will be replaced with a temporary file name which can be used
94 for temporary work, e.g.
96 creates and edits a new file.
98 If both a count and a range are specified for commands that use either,
99 the starting line for the command is the
101 line addressed by the range, and
103 subsequent lines are affected by the command, e.g. the command
105 prints out lines 3, 4, 5 and 6.
107 When only a line or range is specified, with no command, the implied
114 The command used is the most recent of the three commands to have been
115 used (including any use as a flag).
116 If none of these commands have been used before, the
118 command is the implied command.
119 When no range or count is specified and the command line is a blank line,
120 the current line is incremented by 1 and then the current line is displayed.
122 Zero or more whitespace characters may precede or follow the addresses,
123 count, flags, or command name.
124 Any object following a command name (such as buffer, file, etc.),
125 that begins with an alphabetic character,
126 should be separated from the command name by at least one whitespace
129 Any character, including
130 .LI <carriage-return> ,
134 retain their literal value when preceded by a backslash.
137 The following section describes the commands available in the
140 In each entry below, the tag line is a usage synopsis for the command.
142 Each command can be entered as the abbreviation
143 (those characters in the synopsis command word preceding the
146 the full command (all characters shown for the command word,
152 or any leading subset of the full command down to the abbreviation.
153 For example, the args command (shown as
164 command described below notes the new current line after it
165 is executed, as well as any options that affect the command.
166 .\" I cannot get a double quote to print to save my life. The ONLY way
167 .\" I've been able to get this to work is with the .tr command.
174 Command lines beginning with the double-quote character
177 This permits comments in editor scripts and startup files.
183 Write the next N lines, where N is the value of the
186 The command is the end-of-file terminal character, which may be
187 different on different terminals.
188 Traditionally, it is the
194 command ignored any preceding count, and the
196 character was ignored unless it was entered as the first character
198 This implementation treats it as a command
200 if entered as the first character of the command line, and otherwise
201 treats it as any other character.
204 Set to the last line written.
212 .Ip "[range]! argument(s)"
213 Execute a shell command, or filter lines through a shell command.
214 In the first synopsis, the remainder of the line after the
216 character is passed to the program named by the
218 option, as a single argument.
220 Within the rest of the line,
224 are expanded into the current and alternate pathnames, respectively.
227 is expanded with the command text of the previous
230 (Therefore, the command
235 The special meanings of
240 can be overridden by escaping them with a backslash.
245 command has yet been executed, it is an error to use an unescaped
252 do shell expansion on the strings provided as arguments.
253 If any of the above expansions change the command the user entered,
254 the command is redisplayed at the bottom of the screen.
257 then executes the program named by the
261 flag followed by the arguments (which are bundled into a single argument).
265 command is permitted in an empty file.
267 If the file has been modified since it was last completely written,
270 command will warn you.
274 character is displayed when the command completes.
276 In the second form of the
278 command, the remainder of the line after the
280 is passed to the program named by the
282 option, as described above.
283 The specified lines are passed to the program as standard input,
284 and the standard and standard error output of the program replace
288 Unchanged if no range was specified, otherwise set to the first
298 .IP "[range] # [count] [flags]"
300 .Ip "[range] nu[mber] [count] [flags]"
301 Display the selected lines, each preceded with its line number.
303 The line number format is
305 followed by two spaces.
308 Set to the last line displayed.
319 Each line in the named buffer is executed as an
322 If no buffer is specified, or if the specified buffer is
326 the last buffer executed is used.
328 .IP "[range] <[< ...] [count] [flags]"
329 Shift lines left or right.
330 The specified lines are shifted to the left (for the
332 command) or right (for the
334 command), by the number of columns specified by the
337 Only leading whitespace characters are deleted when shifting left;
338 once the first column of the line contains a nonblank character,
341 command will succeed, but the line will not be modified.
343 If the command character
347 is repeated more than once, the command is repeated once for each
348 additional command character.
351 If the current line is set to one of the lines that are affected
352 by the command, it is unchanged.
353 Otherwise, it is set to the first nonblank character of the lowest
354 numbered line shifted.
361 .IP "[line] = [flags]"
362 Display the line number of
364 (which defaults to the last line in the file).
372 .IP "[range] >[> ...] [count] [flags]"
374 The specified lines are shifted to the right by the number of columns
377 option, by inserting tab and space characters.
378 Empty lines are not changed.
380 If the command character
382 is repeated more than once, the command is repeated once for each
383 additional command character.
386 Set to the last line modified by the command.
393 .IP "ab[brev] lhs rhs"
394 Add an abbreviation to the current abbreviation list.
395 When inserting text in
397 each time a non-word character is entered after a word character,
398 a set of characters ending at the word character are checked for
401 If a match is found, they are replaced with
403 The set of characters that are checked for a match are defined as follows,
404 for inexplicable historical reasons.
405 If only one or two characters were entered before the non-word character
406 that triggered the check,
407 and after the beginning of the insertion,
408 or the beginning of the line or the file,
411 character that was entered,
412 then the one or the both characters are checked for a match.
413 Otherwise, the set includes both characters,
414 as well as the characters that precede them that are the same word
415 class (i.e. word or non-word) as the
417 to last character entered before the non-word character that triggered
420 .LI <blank> character,
421 the beginning of the insertion,
422 or the beginning of the line or the file.
424 For example, the abbreviations:
431 :abbreviate #i #include
432 :abbreviate /*#i /*#include
435 will all work, while the abbreviations:
441 :abbreviate a#i A#include
442 :abbreviate /* /********************
445 will not work, and are not permitted by
448 To keep the abbreviation expansion from happening,
449 the character immediately following the
451 characters should be quoted with a
457 is itself subject to both further abbreviation expansion and further
466 .IP "[line] a[ppend][!]"
467 The input text is appended to the specified line.
468 If line 0 is specified, the text is inserted at the beginning of the file.
469 Set to the last line input.
470 If no lines are input, then set to
472 or to the first line of the file if a
475 Following the command name with a
479 option to be toggled for the duration of the command.
492 Display the argument list.
493 The current argument is displayed inside of
498 The argument list is the list of operands specified on startup,
499 which can be replaced using the
512 Background the current screen.
513 The screen is unchanged,
514 but is no longer accessible and disappears from the display.
517 command to bring the screen back to the display foreground.
520 Set to the current line when the screen was last edited.
525 .IP "[range] c[hange][!] [count]"
526 Replace the lines with input text.
527 Following the command name with a
531 option to be toggled for the duration of the command.
534 Set to the last line input, or, if no lines were input,
535 set to the line before the target line, or to the first
536 line of the file if there are no lines preceding the target line.
546 .IP "chd[ir][!] [directory]"
547 .Ip "cd[!] [directory]"
548 Change the current working directory.
551 argument is subjected to
554 When invoked with no directory argument and the
556 environment variable is set, the directory named by the
558 environment variable becomes the new current directory.
559 Otherwise, the new current directory becomes the directory returned
566 command will fail if the file has been modified since the last complete
568 You can override this check by appending a
570 character to the command.
581 .IP "[range] co[py] line [flags]"
582 .Ip "[range] t line [flags]"
583 Copy the specified lines (range) after the destination line.
584 Line 0 may be specified to insert the lines at the beginning of
593 .IP "cs[cope] command [args]"
597 For more information, see the section of the reference manual entitled
598 .QB "Tags, Tag Stacks, and Cscope" .
600 .IP "[range] d[elete] [buffer] [count] [flags]"
601 Delete the lines from the file.
602 The deleted text is saved in the specified buffer, or, if no buffer
603 is specified, in the unnamed buffer.
604 If the command name is followed by a letter that could be interpreted
605 as either a buffer name or a flag value (because neither a
611 treats the letter as a
613 value if the letter immediately follows the command name,
614 without any whitespace separation.
615 If the letter is preceded by whitespace characters,
616 it treats it as a buffer name.
619 Set to the line following the deleted lines,
620 or to the last line if the deleted lines were at the end.
625 .IP "di[splay] b[uffers] | c[onnections] | s[creens] | t[ags]"
628 connections, screens or tags.
631 command takes one of three additional arguments, which are as follows:
634 Display all buffers (including named, unnamed, and numeric)
637 Display the source directories for all attached
641 Display the file names of all background screens.
643 Display the tags stack.
652 .IP "e[dit][!] [+cmd] [file]"
653 .Ip "ex[!] [+cmd] [file]"
654 Edit a different file.
655 If the current buffer has been modified since the last complete write,
656 the command will fail.
657 You can override this by appending a
659 character to the command name.
663 option is specified, that
665 command will be executed in the new file.
668 command may be used, although the most common use of this feature is
669 to specify a line number or search pattern to set the initial location
672 Capitalizing the first letter of the command, i.e.
678 mode, will edit the file in a new screen.
679 In this case, any modifications to the current file are ignored.
682 If you have previously edited the file, the current line will be set
683 to your last position in the file.
684 If that position does not exist, or you have not previously edited the
685 file, the current line will be set to the first line of the file if
688 mode, and the last line of the file if you are in
694 .IP "exu[sage] [command]"
700 is specified, a usage statement for that command is displayed.
701 Otherwise, usage statements for all
703 commands are displayed.
712 Display and optionally change the file name.
713 If a file name is specified, the current pathname is changed to the
715 The current pathname, the number of lines, and the current position
716 in the file are displayed.
727 Foreground the specified screen.
728 If the argument name doesn't exactly match the name of a file displayed
729 by a background screen,
730 it is compared against the last component of each of the file names.
731 If no background screen is specified,
732 the first background screen is foregrounded.
735 foregrounding causes the current screen to be swapped with the backgrounded
737 Capitalizing the first letter of the command, i.e.
739 will foreground the backgrounded screen in a new screen instead of
740 swapping it with the current screen.
743 Set to the current line when the screen was last edited.
748 .IP "[range] g[lobal] /pattern/ [commands]"
750 .Ip "[range] v /pattern/ [commands]"
751 Apply commands to lines matching (or not matching) a pattern.
752 The lines within the given range that match
756 the given pattern are selected.
759 command(s) are executed with the current line
761 set to each selected line.
762 If no range is specified, the entire file is searched for matching,
763 or not matching, lines.
765 Multiple commands can be specified, one per line, by escaping each
767 character with a backslash, or by separating commands with a
770 If no commands are specified, the command defaults to the
779 commands, the input text must be part of the global command line.
780 In this case, the terminating period can be omitted if it ends the commands.
784 command may also be specified as one of the
787 In this mode, input is taken from the terminal.
792 mode causes the next line matching the pattern to be selected and
794 to be reentered, until the list is exhausted.
801 commands cannot be used as part of these commands.
808 are turned off for the duration of the
815 The last line modified.
831 Display a help message.
839 .IP "[line] i[nsert][!]"
840 The input text is inserted before the specified line.
841 Following the command name with a
845 option setting to be toggled for the duration of this command.
848 Set to the last line input; if no lines were input,
849 set to the line before the target line, or to the first line
850 of the file if there are no lines preceding the target line.
858 .IP "[range] j[oin][!] [count] [flags]"
859 Join lines of text together.
865 command specifies that the last line of the
869 subsequent lines will be joined.
870 (Note, this differs by one from the general rule where only
872 subsequent lines are affected.)
874 If the current line ends with a whitespace character, all whitespace
875 is stripped from the next line.
876 Otherwise, if the next line starts with a open parenthesis
879 Otherwise, if the current line ends with a question mark
886 Otherwise, insert a single space.
890 character to the command name causes a simpler join with no
891 white-space processing.
899 .IP "[range] l[ist] [count] [flags]"
900 Display the lines unambiguously.
901 Tabs are displayed as
903 and the end of the line is marked with a
908 Set to the last line displayed.
915 .IP "map[!] [lhs rhs]"
916 Define or display maps (for
924 are not specified, the current set of command mode maps are displayed.
927 character is appended to to the command,
928 the text input mode maps are displayed.
932 character sequence is entered in
934 the action is as if the corresponding
939 character is appended to the command name,
940 the mapping is effective during text input mode,
941 otherwise, it is effective during command mode.
944 to have two different macro definitions at the same time: one for command
945 mode and one for input mode.
947 Whitespace characters require escaping with a
949 character to be entered in the
951 string in visual mode.
953 Normally, keys in the
955 string are remapped (see the
958 and it is possible to create infinite loops.
959 However, keys which map to themselves are not further remapped,
960 regardless of the setting of the
963 For example, the command
973 To exit an infinitely looping map, use the terminal
986 .IP "[line] ma[rk] <character>"
987 .Ip "[line] k <character>"
988 Mark the line with the mark
994 can then be used as an address in any command that uses one.
1002 .IP "[range] m[ove] line"
1003 Move the specified lines after the target line.
1004 A target line of 0 places the lines at the beginning of the file.
1007 Set to the first of the moved lines.
1012 .IP "mk[exrc][!] file"
1013 Write the abbreviations, editor options and maps to the specified
1015 Information is written in a form which can later be read back in
1025 This check can be overridden by appending a
1027 character to the command.
1035 .IP "n[ext][!] [file ...]"
1036 Edit the next file from the argument list.
1039 command will fail if the file has been modified since the last complete
1041 This check can be overridden by appending the
1043 character to the command name.
1044 The argument list can optionally be replaced by specifying a new one
1045 as arguments to this command.
1046 In this case, editing starts with the first file on the new list.
1048 Capitalizing the first letter of the command, i.e.
1052 mode, will set the argument list and edit the file in a new screen.
1053 In this case, any modifications to the current file are ignored.
1056 Set as described for the
1060 Affected by the options
1066 .IP "[line] o[pen] /pattern/ [flags]"
1068 Open mode is the same as being in
1070 but with a one-line window.
1073 commands are available.
1074 If a match is found for the optional RE argument,
1075 the cursor is set to the start of the matching pattern.
1077 .i "This command is not yet implemented."
1080 Unchanged, unless the optional RE is specified, in which case it is
1081 set to the line where the matching pattern is found.
1089 Save the file in a form that can later be recovered using the
1093 When the file is preserved, an email message is sent to the user.
1102 Edit the previous file from the argument list.
1105 command will fail if the file has been modified since the last complete
1107 This check can be overridden by appending the
1109 character to the command name.
1111 Capitalizing the first letter of the command, i.e.
1115 mode, will edit the file in a new screen.
1116 In this case, any modifications to the current file are ignored.
1119 Set as described for the
1123 Affected by the options
1130 .IP "[range] p[rint] [count] [flags]"
1131 Display the specified lines.
1134 Set to the last line displayed.
1143 .IP "[line] pu[t] [buffer]"
1144 Append buffer contents to the current line.
1145 If a buffer is specified, its contents are appended to the line,
1146 otherwise, the contents of the unnamed buffer are used.
1149 Set to the line after the current line.
1155 End the editing session.
1156 If the file has been modified since the last complete write, the
1159 This check may be overridden by appending a
1161 character to the command.
1163 If there are more files to edit, the
1168 character to the command name or entering two
1176 in a row) will override this check and the editor will exit.
1184 .IP "[line] r[ead][!] [file]"
1186 A copy of the specified file is appended to the line.
1189 is 0, the copy is inserted at the beginning of the file.
1190 If no file is specified, the current file is read; if there is no
1193 becomes the current file.
1194 If there is no current file and no
1196 is specified, then the
1206 is treated as if it were a shell command, and passed to the program
1210 The standard and standard error outputs of that command are read into
1211 the file after the specified line.
1212 The special meaning of the
1214 character can be overridden by escaping it with a backslash
1221 the current line is set to the last line read.
1224 the current line is set to the first line read.
1229 .IP "rec[over] file"
1232 if it was previously saved.
1233 If no saved file by that name exists, the
1235 command behaves equivalently to the
1240 Set as described for the
1247 .IP "res[ize] [+|-]size"
1250 Grow or shrink the current screen.
1253 is a positive, signed number, the current screen is grown by that many lines.
1256 is a negative, signed number, the current screen is shrunk by that many lines.
1259 is not signed, the current screen is set to the specified
1261 Applicable only to split screens.
1270 Rewind the argument list.
1271 If the current file has been modified since the last complete write,
1275 This check may be overridden by appending the
1277 character to the command.
1279 Otherwise, the current file is set to the first file in the argument
1283 Set as described for the
1294 .IP "se[t] [option[=[value]] ...] [nooption ...] [option? ...] [all]"
1295 Display or set editor options.
1296 When no arguments are specified, the editor option
1298 and any editor options whose values have been changed from the
1299 default settings are displayed.
1302 is specified, the values of all of editor options are displayed.
1304 Specifying an option name followed by the character
1306 causes the current value of that option to be displayed.
1309 can be separated from the option name by whitespace characters.
1312 is necessary only for Boolean valued options.
1313 Boolean options can be given values by the form
1318 String and numeric options can be assigned by the form
1319 .QT "set option=value" .
1320 Any whitespace characters in strings can be included literally by preceding
1321 each with a backslash.
1322 More than one option can be set or listed by a single set command,
1323 by specifying multiple arguments, each separated from the next by
1324 whitespace characters.
1333 Run the shell program.
1334 The program named by the
1336 option is run with a
1338 (for interactive) flag.
1339 Editing is resumed when that program exits.
1352 commands from a file.
1354 commands may be nested.
1362 .IP "[range] s[ubstitute] [/pattern/replace/] [options] [count] [flags]"
1364 .Ip "[range] & [options] [count] [flags]"
1366 .Ip "[range] ~ [options] [count] [flags]"
1368 Replace the first instance of
1372 on the specified line(s).
1375 argument is not specified, the
1380 Any character other than an alphabetic, numeric, <blank> or backslash
1381 character may be used as the delimiter.
1387 (confirm), you will be prompted for confirmation before each replacement
1389 An affirmative response (in English, a
1391 character) causes the replacement to be made.
1392 A quit response (in English, a
1394 character) causes the
1396 command to be terminated.
1397 Any other response causes the replacement not to be made, and the
1404 (global), all nonoverlapping instances of
1406 in the line are replaced.
1410 version of the command is the same as not specifying a pattern
1411 or replacement string to the
1415 is replaced by the pattern and replacement information from the
1416 previous substitute command.
1420 version of the command is the same as
1424 except that the search pattern used is the last RE used in
1426 command, not necessarily the one used in the last
1430 For example, in the sequence
1445 command may be interrupted, using the terminal interrupt character.
1446 All substitutions completed before the interrupt are retained.
1449 Set to the last line upon which a substitution was made.
1463 Suspend the edit session.
1466 character to these commands turns off the
1468 option for the command.
1480 .IP "ta[g][!] tagstring"
1481 Edit the file containing the specified tag.
1482 If the tag is in a different file, then the new file is edited.
1483 If the current file has been modified since the last complete write,
1487 This check can be overridden by appending the
1489 character to the command name.
1493 command searches for
1495 in the tags file(s) specified by the
1500 for more information on tags files.)
1502 Capitalizing the first letter of the command, i.e.
1506 mode, will edit the file in a new screen.
1507 In this case, any modifications to the current file are ignored.
1510 Set to the line indicated by the tag.
1522 Edit the file containing the next context for the current tag.
1523 If the context is in a different file, then the new file is edited.
1524 If the current file has been modified since the last complete write,
1528 This check can be overridden by appending the
1530 character to the command name.
1532 Capitalizing the first letter of the command, i.e.
1536 mode, will edit the file in a new screen.
1537 In this case, any modifications to the current file are ignored.
1540 Set to the line indicated by the tag.
1549 .IP "tagp[op][!] [file | number]"
1550 Pop to the specified tag in the tags stack.
1557 command pops to the most recent entry on the tags stack.
1564 command pops to the most recent entry in the tags stack for that file,
1565 or numbered entry in the tags stack, respectively.
1568 command for information on displaying the tags stack.)
1570 If the file has been modified since the last complete write, the
1573 This check may be overridden by appending a
1575 character to the command name.
1578 Set to the line indicated by the tag.
1588 Edit the file containing the previous context for the current tag.
1589 If the context is in a different file, then the new file is edited.
1590 If the current file has been modified since the last complete write,
1594 This check can be overridden by appending the
1596 character to the command name.
1598 Capitalizing the first letter of the command, i.e.
1602 mode, will edit the file in a new screen.
1603 In this case, any modifications to the current file are ignored.
1606 Set to the line indicated by the tag.
1616 Pop to the least recent tag on the tags stack, clearing the tags stack.
1618 If the file has been modified since the last complete write, the
1621 This check may be overridden by appending a
1623 character to the command name.
1626 Set to the line indicated by the tag.
1635 .IP "una[bbrev] lhs"
1636 Delete an abbreviation.
1639 from the current list of abbreviations.
1648 Undo the last change made to the file.
1653 and map sequences are considered a single command.
1656 command alternates between these two states, and is its own inverse.
1659 Set to the last line modified by the command.
1664 .IP "unm[ap][!] lhs"
1665 Unmap a mapped string.
1666 Delete the command mode map definition for
1670 character is appended to the command name, delete the text input mode
1671 map definition instead.
1680 Display the version of the
1684 .IP "[line] vi[sual] [type] [count] [flags]"
1691 is optional, and can be
1699 command, to specify the position of the specified line in the screen
1701 (The default is to place the line at the top of the screen window.)
1704 specifies the number of lines that will initially be displayed.
1705 (The default is the value of the
1712 is specified, in which case it is set to that line.
1717 .IP "vi[sual][!] [+cmd] [file]"
1722 .QT "edit[!] [+cmd] [file]"
1725 Capitalizing the first letter of the command, i.e.
1727 will edit the file in a new screen.
1728 In this case, any modifications to the current file are ignored.
1730 .IP "viu[sage] [command]"
1736 is specified, a usage statement for that command is displayed.
1737 Otherwise, usage statements for all
1739 commands are displayed.
1747 .IP "[range] w[rite][!] [>>] [file]"
1748 .Ip "[range] w[rite] [!] [file]"
1750 .Ip "[range] wn[!] [>>] [file]"
1752 .Ip "[range] wq[!] [>>] [file]"
1754 The specified lines (the entire file, if no range is given) is written
1759 is not specified, the current pathname is used.
1762 is specified, and it exists, or if the current pathname was set using the
1764 command, and the file already exists, these commands will fail.
1767 character to the command name will override this check and the write
1768 will be attempted, regardless.
1770 Specifying the optional
1772 string will cause the write to be appended to the file, in which case
1773 no tests are made for the file already existing.
1775 If the file is preceded by a
1777 character, the program named by the shell edit option is
1778 invoked with file as its second argument, and the specified
1779 lines are passed as standard input to that command.
1782 in this usage must be separated from command name by at least one
1783 whitespace character.
1784 The special meaning of the
1786 may be overridden by escaping it with a backslash
1792 version of the write command will exit the editor after writing the file,
1793 if there are no further files to edit.
1796 character to the command name or entering two
1804 in a row) will override this check and the editor will exit,
1805 ignoring any files that have not yet been edited.
1809 version of the write command will move to the next file after writing
1810 the file, unless the write fails.
1822 .IP "[range] x[it][!] [file]"
1823 Write the file if it has been modified.
1824 The specified lines are written to
1826 if the file has been modified since the last complete write to any
1830 is specified, the entire file is written.
1834 command will exit the editor after writing the file,
1835 if there are no further files to edit.
1838 character to the command name or entering two
1846 in a row) will override this check and the editor will exit,
1847 ignoring any files that have not yet been edited.
1859 .IP "[range] ya[nk] [buffer] [count]"
1860 Copy the specified lines to a buffer.
1861 If no buffer is specified, the unnamed buffer is used.
1869 .IP "[line] z [type] [count] [flags]"
1875 lines following the specified line are displayed.
1883 argument changes the position at which
1885 is displayed on the screen by changing the number of lines
1886 displayed before and after
1890 characters may be used:
1893 Place the line at the bottom of the screen.
1895 Place the line at the top of the screen.
1897 Place the line in the middle of the screen.
1899 Write out count lines starting
1903 the net effect of this is that a
1907 command writes the previous page.
1911 on the screen with a line of hyphens displayed immediately before and
1913 The number of preceding and following lines of text displayed are
1914 reduced to account for those lines.
1918 Set to the last line displayed, with the exception of the
1921 where the current line is set to the line specified by the command.