diff options
Diffstat (limited to 'usr.bin/vi/USD.doc/vi.ref/vi.ref.txt')
-rw-r--r-- | usr.bin/vi/USD.doc/vi.ref/vi.ref.txt | 5544 |
1 files changed, 0 insertions, 5544 deletions
diff --git a/usr.bin/vi/USD.doc/vi.ref/vi.ref.txt b/usr.bin/vi/USD.doc/vi.ref/vi.ref.txt deleted file mode 100644 index 88a98c7..0000000 --- a/usr.bin/vi/USD.doc/vi.ref/vi.ref.txt +++ /dev/null @@ -1,5544 +0,0 @@ - - - - - - - - - EExx//VVii RReeffeerreennccee MMaannuuaall - - _K_e_i_t_h _B_o_s_t_i_c - - Computer Science Division - Department of Electrical Engineering and Computer Science - University of California, Berkeley - Berkeley, California 94720 - - August 15, 1994 - - - - _A_b_s_t_r_a_c_t - - - - - This document is the reference guide for the 4.4BSD -implementations of nneexx/nnvvii, which are reimplementations -of the historic Berkeley eexx/vvii editors. - - - - - - _A_c_k_n_o_w_l_e_d_g_e_m_e_n_t_s - - - - - Bruce Englar encouraged the early development of -the historic eexx/vvii editor. Peter Kessler helped bring -sanity to version 2's command layout. Bill Joy wrote -versions 1 and 2.0 through 2.7, and created the frame- -work that users see in the present editor. Mark Horton -added macros and other features and made eexx/vvii work on a -large number of terminals and Unix systems. - - NNvvii is originally derived from software contributed -to the University of California, Berkeley by Steve Kirk- -endall, the author of the vvii clone eellvviiss. - - IEEE Standard Portable Operating System Interface -for Computer Environments (POSIX) 1003.2 style Regular -Expression support was done by Henry Spencer. - - The curses library was originally done by Ken -Arnold. Scrolling and reworking for nnvvii was done by -Elan Amir. - - - - - - - - - - - - - - - - The Institute of Electrical and Electronics Engi- -neers has given us permission to reprint portions of -their documentation. Portions of this document are -reprinted and reproduced from IEEE Std 1003.2-1992, IEEE -Standard Portable Operating System Interface for Comput- -er Environments (POSIX), copyright 1992 by the Institute -of Electrical and Electronics Engineers, Inc. - - The financial support of UUNET Communications Ser- -vices is gratefully acknowledged. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--33 - - -11.. DDeessccrriippttiioonn - - VVii is a screen oriented text editor. EExx is a line- -oriented text editor. EExx and vvii are different interfaces to -the same program, and it is possible to switch back and -forth during an edit session. VViieeww is the equivalent of -using the --RR (read-only) option of vvii. - - This reference manual is the one provided with the -nneexx/nnvvii versions of the eexx/vvii text editors. NNeexx/nnvvii are -intended as bug-for-bug compatible replacements for the -original Fourth Berkeley Software Distribution (4BSD) eexx/vvii -programs. This reference manual is accompanied by a tradi- -tional-style manual page. That manual page describes the -functionality found in eexx/vvii in far less detail than the -description here. In addition, it describes the system -interface to eexx/vvii, e.g. command line options, session -recovery, signals, environmental variables, and similar -things. - - This reference is intended for users already familiar -with eexx/vvii. Anyone else should almost certainly read a good -tutorial on the editor first. If you are in an unfamiliar -environment, and you absolutely have to get work done imme- -diately, see the section entitled "FFaasstt SSttaarrttuupp" in the man- -ual page. It is probably enough to get you started. - - There are a few features in nneexx/nnvvii that are not found -in historic versions of eexx/vvii. Some of the more interesting -of those features are briefly described in the section enti- -tled "AAddddiittiioonnaall FFeeaattuurreess" near the end of this document. -For the rest of this document, nneexx/nnvvii is used only when it -is necessary to distinguish it from the historic implementa- -tions of eexx/vvii. - - Future versions of this software will be periodically -made available by anonymous ftp, and can be retrieved from -ffttpp..ccss..bbeerrkkeelleeyy..eedduu, in the directory uuccbb//44bbssdd. - -22.. SSttaarrttuupp IInnffoorrmmaattiioonn - - EExx/vvii interprets one of two possible environmental -variables and reads up to three of five possible files dur- -ing startup. The variables and files are expected to con- -tain eexx commands, not vvii commands. In addition, they are -interpreted _b_e_f_o_r_e the file to be edited is read, and there- -fore many eexx commands may not be used. Generally, any com- -mand that requires output to the screen or that needs a file -upon which to operate, will cause an error if included in a -startup file or environmental variable. - - Because the eexx command set supported by nneexx/nnvvii is a -superset of the command set supported by most historical - - - - - - - - - - -UUSSDD::1133--44 NNvvii//NNeexx RReeffeerreennccee - - -implementations of eexx, nneexx/nnvvii can use the startup files -created for the historical implementations, but the converse -may not be true. - - If the --ss (the historic - option) is specified, or if -standard input is redirected from a file, all environmental -variables and startup files are ignored. - - Otherwise, startup files and environmental variables -are handled in the following order: - - (1) The file //eettcc//vvii..eexxrrcc is read, as long as it is owned - by root or the effective user ID of the user. - - (2) The environmental variable NNEEXXIINNIITT (or the variable - EEXXIINNIITT, if NNEEXXIINNIITT is not set) is interpreted. - - (3) If neither NNEEXXIINNIITT or EEXXIINNIITT was set, and the HHOOMMEE - environmental variable is set, the file $$HHOOMMEE//..nneexxrrcc - (or the file $$HHOOMMEE//..eexxrrcc, if $$HHOOMMEE//..nneexxrrcc does not - exist) is read, as long as the effective user ID of - the user is root or is the same as the owner of the - file. - - (4) If the eexxrrcc option was turned on by one of the previ- - ous startup information sources, the file ..nneexxrrcc (or - the file ..eexxrrcc, if ..nneexxrrcc does not exist) is read, as - long as the effective user ID of the user is the same - as the owner of the file. - - No startup file is read if it is writable by anyone -other than its owner. - - It is not an error for any of the startup environmental -variables or files not to exist. - - Once all environmental variables are interpreted, and -all startup files are read, the first file to be edited is -read in (or a temporary file is created). Then, any com- -mands specified using the --cc option are executed, in the -context of that file. - -33.. RReeccoovveerryy - - There is no recovery program for nneexx/nnvvii, nor does -nneexx/nnvvii run setuid. Recovery files are created readable and -writable by the owner only. Users may recover any file -which they can read, and the superuser may recover any edit -session. - - Edit sessions are backed by files in the directory -named by the rreeccddiirr option (the directory -//vvaarr//ttmmpp//vvii..rreeccoovveerr by default), and are named "vvii..XXXXXXXXXXXX", - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--55 - - -where "XXXXXXXXXXXX" is a number related to the process ID. When -a file is first modified, a second recovery file containing -an email message for the user is created, and is named -"rreeccoovveerr..XXXXXXXXXXXX", where, again, "XXXXXXXXXXXX" is associated with -the process ID. Both files are removed at the end of a nor- -mal edit session, but will remain if the edit session is -abnormally terminated or the user runs the eexx pprreesseerrvvee com- -mand. - - The rreeccddiirr option may be set in either the user's or -system's startup information, changing the recovery direc- -tory. (Note, however, that if a memory based file system is -used as the backup directory, each system reboot will delete -all of the recovery files! The same caution applies to -directories such as //ttmmpp which are cleared of their contents -by a system reboot, or //uussrr//ttmmpp which is periodically -cleared of old files on many systems.) - - The recovery directory should be owned by root, or at -least by a pseudo-user. In addition, if directory "sticky- -bit" semantics are available, the directory should have the -sticky-bit set so that files may only be removed by their -owners. The recovery directory must be read, write, and -executable by any user, i.e. mode 1777. - - If the recovery directory does not exist, eexx/vvii will -attempt to create it. This can result in the recovery -directory being owned by a normal user, which means that -that user will be able to remove other user's recovery and -backup files. This is annoying, but is not a security issue -as the user cannot otherwise access or modify the files. - - The recovery file has all of the necessary information -in it to enable the user to recover the edit session. In -addition, it has all of the necessary email headers for -_s_e_n_d_m_a_i_l(8). When the system is rebooted, all of the files -in //vvaarr//ttmmpp//vvii..rreeccoovveerr named "rreeccoovveerr..XXXXXXXXXXXX" should be sent -to their owners, by email, using the --tt option of sseennddmmaaiill -(or a similar mechanism in other mailers). If eexx/vvii -receives a hangup (SIGHUP) signal, or the user executes the -eexx pprreesseerrvvee command, eexx/vvii will automatically email the -recovery information to the user. - - If your system does not have the sseennddmmaaiill utility (or a -mailer program which supports its interface) the source file -nnvvii//ccoommmmoonn//rreeccoovveerr..cc will have to be modified to use your -local mail delivery programs. Note, if nneexx/nnvvii is changed -to use another mailer, it is important to remember that the -owner of the file given to the mailer is the nneexx/nnvvii user, -so nothing in the file should be trusted as it may have been -modified in an effort to compromise the system. - - - - - - - - - - - - -UUSSDD::1133--66 NNvvii//NNeexx RReeffeerreennccee - - - Finally, the owner execute bit is set on backup files -when they are created, and unset when they are first modi- -fied, e.g. backup files that have no associated email recov- -ery file will have this bit set. (There is also a small -window where empty files can be created and not yet have -this bit set. This is due to the method in which the files -are created.) Such files should be deleted when the system -reboots. - - A simple way to do this cleanup is to insert the fol- -lowing Bourne shell script into your //eettcc//rrcc..llooccaall (or other -startup) file. The script should work with the historic -Bourne shell, a POSIX 1003.2 shell or the Korn shell. (A -copy of this script is included as -nnvvii//iinnssttaallll//rreeccoovveerr..ssccrriipptt in the nneexx/nnvvii distribution.) - - - ## @@((##))rreeccoovveerr..ssccrriipptt 88..44 ((BBeerrkkeelleeyy)) 88//1133//9944 - ## - ## RReeccoovveerr nnvvii eeddiittoorr ffiilleess:: - RREECCDDIIRR==//vvaarr//ttmmpp//vvii..rreeccoovveerr - SSEENNDDMMAAIILL==//uussrr//lliibb//sseennddmmaaiill - eecchhoo ''RReeccoovveerriinngg nnvvii eeddiittoorr sseessssiioonnss..'' - - ## UUnnmmooddiiffiieedd nnvvii eeddiittoorr bbaacckkuupp ffiilleess aarree eeiitthheerr zzeerroo lleennggtthh oorr - ## hhaavvee tthhee eexxeeccuuttee bbiitt sseett.. DDeelleettee bbootthh ccaasseess.. - vviibbaacckkuupp==``eecchhoo $$RREECCDDIIRR//vvii..**`` - iiff [[ ""$$vviibbaacckkuupp"" !!== ""$$RREECCDDIIRR//vvii..**"" ]];; tthheenn - ffoorr ii iinn $$vviibbaacckkuupp;; ddoo - iiff tteesstt --xx $$ii --oo !! --ss $$ii;; tthheenn - rrmm $$ii - ffii - ddoonnee - ffii - - ## IItt iiss ppoossssiibbllee ttoo ggeett iinnccoommpplleettee rreeccoovveerryy ffiilleess,, iiff tthhee eeddiittoorr - ## ccrraasshheess aatt tthhee rriigghhtt ttiimmee.. DDeelleettee aannyy rreeccoovveerryy ffiilleess wwiitthhoouutt - ## ccoorrrreessppoonnddiinngg bbaacckkuupp ffiilleess,, ootthheerrwwiissee sseenndd mmaaiill ttoo tthhee uusseerr.. - vviirreeccoovveerryy==``eecchhoo $$RREECCDDIIRR//rreeccoovveerr..**`` - iiff [[ ""$$vviirreeccoovveerryy"" !!== ""$$RREECCDDIIRR//rreeccoovveerr..**"" ]];; tthheenn - ffoorr ii iinn $$vviirreeccoovveerryy;; ddoo - rreeccffiillee==``aawwkk ''//^^XX--vvii--rreeccoovveerr--ppaatthh:://{{pprriinntt $$22}}'' << $$ii`` - iiff tteesstt !! --nn $$rreeccffiillee --aa --ss $$rreeccffiillee;; tthheenn - $$SSEENNDDMMAAIILL --tt << $$ii - eellssee - rrmm $$ii - ffii - ddoonnee - ffii - - - - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--77 - - - If you are not using the default value for the rreeccddiirr -option, be sure to substitute the value you're using for the -RREECCDDIIRR value in the recovery script. - - If the path of your system's sseennddmmaaiill program (or what- -ever mailer you're using) is not //uussrr//lliibb//sseennddmmaaiill, be sure -to substitute the correct pathname for the SSEENNDDMMAAIILL value in -the recovery script. Consult the manual page for details on -recovering preserved or aborted editing sessions. - -44.. SSiizziinngg tthhee SSccrreeeenn - - The size of the screen can be set in a number of ways. -EExx/vvii takes the following steps until values are obtained -for both the number of rows and number of columns in the -screen. - - (1) If the environmental variable LLIINNEESS exists, it is - used to specify the number of rows in the screen. - - (2) If the environmental variable CCOOLLUUMMNNSS exists, it is - used to specify the number of columns in the screen. - - (3) The TIOCGWINSZ _i_o_c_t_l(2) is attempted on the standard - error file descriptor. - - (4) The termcap entry (or terminfo entry on System V - machines) is checked for the "li" entry (rows) and - the "co" entry (columns). - - (5) The number of rows is set to 24, and the number of - columns is set to 80. - - If a window change size signal (SIGWINCH) is received, -the new window size is retrieved using the TIOCGWINSZ -_i_o_c_t_l(2) call, and all other information is ignored. - -55.. CChhaarraacctteerr DDiissppllaayy - - In both eexx and vvii printable characters as defined by -_i_s_p_r_i_n_t(3) are displayed using the local character set. - - Non-printable characters, for which _i_s_c_n_t_r_l(3) returns -true, and which are less than octal \076, are displayed as -the string "^^<<cchhaarraacctteerr>>", where <<cchhaarraacctteerr>> is the charac- -ter that is the original character's value offset from the -"@@" character. For example, the octal character \001 is -displayed as "^^AA". If _i_s_c_n_t_r_l(3) returns true for the octal -character \177, it is displayed as the string "^^??". All -other characters are displayed as either hexadecimal values, -in the form "00xx<<hhiigghh--hhaallffbbyyttee>> ...... 00xx<<llooww--hhaallffbbyyttee>>", or as -octal values, in the form "\\<<hhiigghh--oonnee--oorr--ttwwoo--bbiittss>> ...... -\\<<llooww--tthhrreeee--bbiittss>>". The display of unknown characters is - - - - - - - - - - -UUSSDD::1133--88 NNvvii//NNeexx RReeffeerreennccee - - -based on the value of the ooccttaall option. - - In vvii command mode, the cursor is always positioned on -the last column of characters which take up more than one -column on the screen. In vvii text input mode, the cursor is -positioned on the first column of characters which take up -more than one column on the screen. - -66.. MMuullttiippllee SSccrreeeennss - - NNvvii supports multiple screens by dividing the window -into regions. It also supports stacks of screens by permit- -ting the user to change the set of screens that are cur- -rently displayed. - - The command sspplliitt divides the current screen into two -regions of approximately equal size. If a list of files are -specified as arguments to the sspplliitt command, the list of -files to be edited is initialized as if the nneexxtt command had -been used. If no files are specified, the new screen will -begin by editing the same file as the previous screen. - - When more than one screen is editing a file, changes in -any screen are reflected in all other screens editing the -same file. Exiting any screen without saving any changes -(or explicitly discarding them) is permitted until the last -screen editing the file is exited. - - The rreessiizzee command permits resizing of individual -screens. Screens may be grown, shrunk or set to an absolute -number of rows. - - The ^^WW command is used to switch between screens. Each -^^WW moves to the next lower screen in the window, or to the -first screen in the window if there are no lower screens. - - The bbgg command "backgrounds" the current screen. The -screen disappears from the window, and the rows it occupied -are taken over by a neighboring screen. It is an error to -attempt to background the only screen in the window. - - The ddiissppllaayy ssccrreeeennss command displays the names of the -files associated with the current backgrounded screens in -the window. - - The ffgg [[ffiillee]] command "foregrounds" the first screen in -the list of backgrounded screens that is associated with its -argument. If no file argument is specified, the first -screen on the list is foregrounded. Foregrounding consists -of backgrounding the current screen, and replacing its space -in the window with the foregrounded screen. - - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--99 - - - If the last screen in the window is exited, and there -are backgrounded screens, the first screen on the list of -backgrounded screens takes over the window. - -77.. RReegguullaarr EExxpprreessssiioonnss aanndd RReeppllaacceemmeenntt SSttrriinnggss - - Regular expressions are used in line addresses, as the -first part of the eexx ssuubbssttiittuuttee, gglloobbaall, and vvgglloobbaall com- -mands, and in search patterns. - - The regular expressions supported by eexx/vvii are, by -default, the Basic Regular Expressions (BRE's) described in -the IEEE POSIX Standard 1003.2. The eexxtteennddeedd option causes -all regular expressions to be interpreted as the Extended -Regular Expressions (ERE's) described by the same standard. -(See _r_e___f_o_r_m_a_t(7) for more information.) Generally speak- -ing, BRE's are the Regular Expressions found in _e_d(1) and -_g_r_e_p(1), and ERE's are the Regular Expressions found in -_e_g_r_e_p(1). - - The following is not intended to provide a description -of Regular Expressions. The information here only describes -strings and characters which have special meanings in the -eexx/vvii version of RE's, or options which change the meanings -of characters that normally have special meanings in RE's. - - (1) An empty RE (e.g. "////" or "????" is equivalent to the - last RE used. - - (2) The construct "\\<<" matches the beginning of a word. - - (3) The construct "\\>>" matches the end of a word. - - (4) The character "~~" matches the replacement part of the - last ssuubbssttiittuuttee command. - - When the mmaaggiicc option is _n_o_t set, the only characters -with special meanings are a "^^" character at the beginning -of an RE, a "$$" character at the end of an RE, and the -escaping character "\\". The characters "..", "**", "[[" and -"~~" are treated as ordinary characters unless preceded by a -"\\"; when preceded by a "\\" they regain their special mean- -ing. - - Replacement strings are the second part of a ssuubbssttiittuuttee -command. - - The character "&&" (or "\\&&" if the mmaaggiicc option is _n_o_t -set) in the replacement string stands for the text matched -by the RE that is being replaced. The character "~~" (or -"\\~~" if the mmaaggiicc option is _n_o_t set) stands for the replace- -ment part of the previous ssuubbssttiittuuttee command. It is only -valid after a ssuubbssttiittuuttee command has been performed. - - - - - - - - - - -UUSSDD::1133--1100 NNvvii//NNeexx RReeffeerreennccee - - - The string "\\##", where "##" is an integer value from 1 -to 9, stands for the text matched by the portion of the RE -enclosed in the "##"'th set of escaped parentheses, e.g. -"\\((" and "\\))". For example, "ss//aabbcc\\((..**\\))ddeeff//\\11//" deletes -the strings "aabbcc" and "ddeeff" from the matched pattern. - - The strings "\\ll", "\\uu", "\\LL" and "\\UU" can be used to -modify the case of elements in the replacement string. The -string "\\ll" causes the next character to be converted to -lowercase; the string "\\uu" behaves similarly, but converts -to uppercase (e.g. ss//aabbcc//\\UU&&// replaces the string aabbcc with -AABBCC). The strings "\\LL" causes characters up to the end of -the string or the next occurrence of the strings "\\ee" or -"\\EE" to be converted to lowercase; the string "\\UU" behaves -similarly, but converts to uppercase. - - If the entire replacement pattern is "%%", then the last -replacement pattern is used again. - - In vvii, inserting a <<ccoonnttrrooll--MM>> into the replacement -string will cause the matched line to be split into two -lines at that point. (The <<ccoonnttrrooll--MM>> will be discarded.) - -88.. GGeenneerraall EEddiittoorr DDeessccrriippttiioonn - - When eexx or vvii are executed, the text of a file is read -(or a temporary file is created), and then all editing -changes happen within the context of the copy of the file. -_N_o _c_h_a_n_g_e_s _a_f_f_e_c_t _t_h_e _a_c_t_u_a_l _f_i_l_e _u_n_t_i_l _t_h_e _f_i_l_e _i_s _w_r_i_t_t_e_n -_o_u_t, either using a write command or another command which -is affected by the aauuttoowwrriittee option. - - All files are locked (using the _f_l_o_c_k(2) or _f_c_n_t_l(2) -interfaces) during the edit session, to avoid inadvertently -making modifications to multiple copies of the file. If a -lock cannot be obtained for a file because it is locked by -another process, the edit session is read-only (as if the -rreeaaddoonnllyy option or the --RR flag had been specified). If a -lock cannot be obtained for other reasons, the edit session -will continue, but the file status information (see the -<<ccoonnttrrooll--GG>> command) will reflect this fact. - - Both eexx and vvii are modeful editors, i.e. they have two -modes, "command" mode and "text input" mode. The former is -intended to permit you to enter commands which modifies -already existing text. The latter is intended to permit you -to enter new text. When eexx first starts running, it is in -command mode, and usually displays a prompt (see the pprroommpptt -option for more information). The prompt is a single colon -("::") character. There are three commands that switch eexx -into text input mode: aappppeenndd, cchhaannggee and iinnsseerrtt. Once in -input mode, entering a line containing only a single period -("..") terminates text input mode and returns to command - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--1111 - - -mode, where the prompt is redisplayed. - - When vvii first starts running, it is in command mode as -well. There are eleven commands that switch vvii into text -input mode: AA, aa, CC, cc, II, ii, OO, oo, RR, SS and ss. Once in -input mode, entering an <<eessccaappee>> character terminates text -input mode and returns to command mode. - - The following words have special meanings in both the -eexx and vvii command descriptions: - -<<iinntteerrrruupptt>> - The interrupt character is used to interrupt the cur- - rent operation. Normally <<ccoonnttrrooll--CC>>, whatever charac- - ter is set for the current terminal is used. - -<<lliitteerraall nneexxtt>> - The literal next character is used to escape the subse- - quent character from any special meaning. This charac- - ter is always <<ccoonnttrrooll--VV>>. If the terminal is not set - up to do XON/XOFF flow control, then <<ccoonnttrrooll--QQ>> is - used to mean literal next as well. - -ccuurrrreenntt ppaatthhnnaammee - The pathname of the file currently being edited by vi. - When the percent character ("%%") appears in a file name - entered as part of an eexx command argument, it is - replaced by the current pathname. (The "%%" character - can be escaped by preceding it with a backslash.) - -aalltteerrnnaattee ppaatthhnnaammee - The name of the last file name mentioned in an eexx com- - mand, or, the previous current pathname if the last - file mentioned becomes the current file. When the hash - mark character ("##") appears in a file name entered as - part of an eexx command argument, it is replaced by the - alternate pathname. (The "##" character can be escaped - by preceding it with a backslash.) - -bbuuffffeerr - One of a number of named areas for saving copies of - text. Commands that change or delete text can save the - changed or deleted text into a specific buffer, for - later use, if the command allows it (i.e. the eexx cchhaannggee - command cannot save the changed text in a named - buffer). Buffers are named with a single character, - preceded by a double quote, e.g. ""<<cchhaarraacctteerr>>. His- - toric implementations of eexx/vvii limited <<cchhaarraacctteerr>> to - the alphanumeric characters; nneexx/nnvvii permits the use of - any character. - - Buffers named by uppercase characters are the same as - buffers named by lowercase characters, e.g. the buffer - - - - - - - - - - -UUSSDD::1133--1122 NNvvii//NNeexx RReeffeerreennccee - - - named by the English character "AA" is the same as the - buffer named by the character "aa", with the exception - that, if the buffer contents are being changed (as with - a text deletion or vvii cchhaannggee command), the text is - _a_p_p_e_n_d_e_d to the buffer, instead of replacing the cur- - rent contents. - - The buffers named by the numeric characters (in - English, "11" through "99"), are special, in that if at - least one line is changed or deleted in the file, (or a - command changes or deletes a region that crosses a line - boundary) a copy of the text is placed into the numeric - buffer "11", regardless of the user specifying another - buffer in which to save it. Before this copy is done, - the previous contents of buffer "11" are moved into - buffer "22", "22" into buffer "33", and so on. The con- - tents of buffer "99" are discarded. In vvii, text may be - explicitly stored into the numeric buffers. In this - case, the buffer rotation described above occurs before - the replacement of the buffer's contents. (Text cannot - be explicitly stored into the numeric buffers in eexx - because of ambiguities that this would cause in the eexx - command syntax.) - - When a vvii command synopsis shows both a [[bbuuffffeerr]] and a - [[ccoouunntt]], they may be presented in any order. - - Finally, all buffers are either "line" or "character" - oriented. All eexx commands which store text into - buffers are line oriented. Some vvii commands which - store text into buffers are line oriented, and some are - character oriented; the description for each applicable - vvii command notes whether text copied into buffers using - the command is line or character oriented. In addi- - tion, the vvii command ddiissppllaayy bbuuffffeerrss displays the cur- - rent orientation for each buffer. Generally, the only - importance attached to this orientation is that if the - buffer is subsequently inserted into the text, line - oriented buffers create new lines for each of the lines - they contain, and character oriented buffers create new - lines for any lines _o_t_h_e_r than the first and last lines - they contain. The first and last lines are inserted - into the text at the current cursor position, becoming - part of the current line. If there is more than one - line in the buffer, however, the current line itself - will be split. - -uunnnnaammeedd bbuuffffeerr - The unnamed buffer is a text storage area which is used - by commands that take a buffer as an argument, when no - buffer is specified by the user. There is no way to - explicitly reference this buffer. - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--1133 - - -99.. VVii DDeessccrriippttiioonn - - VVii takes up the entire screen to display the edited -file, except for the bottom line of the screen. The bottom -line of the screen is used to enter eexx commands, and for vvii -error and informational messages. If no other information -is being displayed, the default display can show the current -cursor row and cursor column, an indication of whether the -file has been modified, and the current mode of the editor. -See the rruulleerr, sshhoowwddiirrttyy and sshhoowwmmooddee options for more -information. - - Empty lines do not have any special representation on -the screen, but lines on the screen that would logically -come after the end of the file are displayed as a single -tilde ("~~") character. To differentiate between empty lines -and lines consisting of only whitespace characters, use the -lliisstt option. Historically, implementations of vvii have also -displayed some lines as single asterisk ("@@") characters. -These were lines that were not correctly displayed, i.e. -lines on the screen that did not correspond to lines in the -file, or lines that did not fit on the current screen. NNvvii -never displays lines in this fashion. - - VVii is a modeful editor, i.e. it has two modes, "com- -mand" mode and "text input" mode. When vvii first starts, it -is in command mode. There are several commands that change -vvii into text input mode. The <<eessccaappee>> character is used to -resolve the text input into the file, and exit back into -command mode. In vvii command mode, the cursor is always -positioned on the last column of characters which take up -more than one column on the screen. In vvii text insert mode, -the cursor is positioned on the first column of characters -which take up more than one column on the screen. - - Generally, if the cursor line and cursor column are not -on the screen, then the screen is scrolled (if the target -cursor is close) or repainted (if the target cursor is far -away) so that the cursor is on the screen. If the screen is -scrolled, it is moved a minimal amount, and the cursor line -will usually appear at the top or bottom of the screen. In -the screen is repainted, the cursor line will appear in the -center of the screen, unless the cursor is sufficiently -close to the beginning or end of the file that this is not -possible. If the lleeffttrriigghhtt option is set, the screen may be -scrolled or repainted in a horizontal direction as well as -in a vertical one. - - A major difference between the historical vvii presenta- -tion and nnvvii is in the scrolling and screen oriented posi- -tion commands, <<ccoonnttrrooll--BB>>, <<ccoonnttrrooll--DD>>, <<ccoonnttrrooll--EE>>, <<ccoonn-- -ttrrooll--FF>>, <<ccoonnttrrooll--UU>>, <<ccoonnttrrooll--YY>>, HH, LL and MM. In histori- -cal implementations of vvii, these commands acted on physical - - - - - - - - - - -UUSSDD::1133--1144 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - -(as opposed to logical, or screen) lines. For lines that -were sufficiently long in relation to the size of the -screen, this meant that single line scroll commands might -repaint the entire screen, scrolling or screen positioning -command might not change the screen or move the cursor at -all, and some lines simply could not be displayed, even -though vvii would edit the file that contained them. In nnvvii, -these commands act on logical, i.e. screen lines. You are -unlikely to notice any difference unless you are editing -files with lines significantly longer than a screen width. - - VVii keeps track of the currently "most attractive" cur- -sor position. Each command description (for commands that -can change the current cursor position), specifies if the -cursor is set to a specific location in the line, or if it -is moved to the "most attractive cursor position". The lat- -ter means that the cursor is moved to the cursor position -that is vertically as close as possible to the current cur- -sor position. If the current line is shorter than the cur- -sor position vvii would select, the cursor is positioned on -the last character in the line. (If the line is empty, the -cursor is positioned on the first column of the line.) If a -command moves the cursor to the most attractive position, it -does not alter the current cursor position, and a subsequent -movement will again attempt to move the cursor to that posi- -tion. Therefore, although a movement to a line shorter than -the currently most attractive position will cause the cursor -to move to the end of that line, a subsequent movement to a -longer line will cause the cursor to move back to the most -attractive position. - - In addition, the $$ command makes the end of each line -the most attractive cursor position rather than a specific -column. - - Each vvii command described below notes where the cursor -ends up after it is executed. This position is described in -terms of characters on the line, i.e. "the previous charac- -ter", or, "the last character in the line". This is to -avoid needing to continually refer to on what part of the -character the cursor rests. - - The following words have special meaning for vvii com- -mands. - -pprreevviioouuss ccoonntteexxtt - The position of the cursor before the command which - caused the last absolute movement was executed. Each - vvii command described in the next section that is con- - sidered an absolute movement is so noted. In addition, - specifying _a_n_y address to an eexx command is considered - an absolute movement. - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--1155 - - -mmoottiioonn - A second vvii command can be used as an optional trailing - argument to the vvii !!, <<, >>, cc, dd, yy, and (depending on - the ttiillddeeoopp option) ~~ commands. This command indicates - the end of the region of text that's affected by the - command. The motion command may be either the command - character repeated (in which case it means the current - line) or a cursor movement command. In the latter - case, the region affected by the command is from the - starting or stopping cursor position which comes first - in the file, to immediately before the starting or - stopping cursor position which comes later in the file. - Commands that operate on lines instead of using begin- - ning and ending cursor positions operate on all of the - lines that are wholly or partially in the region. In - addition, some other commands become line oriented - depending on where in the text they are used. The com- - mand descriptions below note these special cases. - - The following commands may all be used as motion compo- - nents for vvii commands: - - - <<ccoonnttrrooll--AA>> <<ccoonnttrrooll--HH>> <<ccoonnttrrooll--JJ>> <<ccoonnttrrooll--MM>> - <<ccoonnttrrooll--NN>> <<ccoonnttrrooll--PP>> <<ssppaaccee>> $$ - %% ''<<cchhaarraacctteerr>> (( )) - ++ ,, -- // - 00 ;; ?? BB - EE FF GG HH - LL MM NN TT - WW [[[[ ]]]] ^^ - __ ``<<cchhaarraacctteerr>> bb ee - ff hh jj kk - ll nn tt ww - {{ || }} - - - The optional count prefix available for some of the vvii - commands that take motion commands, or the count prefix - available for the vvii commands that are used as motion - components, may be included and is _a_l_w_a_y_s considered - part of the motion argument. For example, the commands - "cc22ww" and "22ccww" are equivalent, and the region affected - by the cc command is two words of text. In addition, if - the optional count prefix is specified for both the vvii - command and its motion component, the effect is multi- - plicative and is considered part of the motion argu- - ment. For example, the commands "44ccww" and "22cc22ww" are - equivalent, and the region affected by the cc command is - four words of text. - - - - - - - - - - - - - -UUSSDD::1133--1166 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - -ccoouunntt - A positive number used as an optional argument to most - commands, either to give a size or a position (for dis- - play or movement commands), or as a repeat count (for - commands that modify text). The count argument is - always optional and defaults to 1 unless otherwise - noted in the command description. - - When a vvii command synopsis shows both a [[bbuuffffeerr]] and - [[ccoouunntt]], they may be presented in any order. - -bbiiggwwoorrdd - A set of non-whitespace characters preceded and fol- - lowed by whitespace characters or the beginning or end - of the file or line. - - Groups of empty lines (or lines containing only whites- - pace characters) are treated as a single bigword. - -wwoorrdd - Generally, in languages where it is applicable, vvii rec- - ognizes two kinds of words. First, a sequence of let- - ters, digits and underscores, delimited at both ends - by: characters other than letters, digits, or under- - scores; the beginning or end of a line; the beginning - or end of the file. Second, a sequence of characters - other than letters, digits, underscores, or whitespace - characters, delimited at both ends by: a letter, digit, - underscore, or whitespace character; the beginning or - end of a line; the beginning or end of the file. - - Groups of empty lines (or lines containing only whites- - pace characters) are treated as a single word. - -ppaarraaggrraapphh - An area of text that begins with either the beginning - of a file, an empty line, or a section boundary, and - continues until either an empty line, section boundary, - or the end of the file. - - Groups of empty lines (or lines containing only whites- - pace characters) are treated as a single paragraph. - - Additional paragraph boundaries can be defined using - the ppaarraaggrraapphh option. - -sseeccttiioonn - An area of text that starts with the beginning of the - file or a line whose first character is an open brace - ("{{") and continues until the next section or the end - of the file. - - Additional section boundaries can be defined using the - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--1177 - - - sseeccttiioonnss option. - -sseenntteennccee - An area of text that begins with either the beginning - of the file or the first nonblank character following - the previous sentence, paragraph, or section boundary - and continues until the end of the file or a or a - period ("..") exclamation point ("!!") or question mark - ("??") character, followed by either an end-of-line or - two whitespace characters. Any number of closing - parentheses ("))"), brackets ("]]") or double-quote ("""") - characters can appear between the period, exclamation - point, or question mark and the whitespace characters - or end-of-line. - - Groups of empty lines (or lines containing only whites- - pace characters) are treated as a single sentence. - -1100.. VVii CCoommmmaannddss - - The following section describes the commands available -in the command mode of the vvii editor. In each entry below, -the tag line is a usage synopsis for the command character. -In addition, the final line and column the cursor rests -upon, and any options which affect the command are noted. - -[[ccoouunntt]] <<ccoonnttrrooll--AA>> - Search forward ccoouunntt times for the current word. The - current word begins at the first non-whitespace charac- - ter on or after the current cursor position, and - extends up to the next non-word character or the end of - the line. The search is literal, i.e. no characters in - the word have any special meaning in terms of Regular - Expressions. It is an error if no matching pattern is - found between the starting position and the end of the - file. - - The <<ccoonnttrrooll--AA>> command is an absolute movement. The - <<ccoonnttrrooll--AA>> command may be used as the motion component - of other vvii commands, in which case any text copied - into a buffer is character oriented. - - Line: Set to the line where the word is found. - Column: Set to the first character of the word. - Options: Affected by the eexxtteennddeedd, iiggnnoorreeccaassee and wwrraapp-- - ssccaann options. - -[[ccoouunntt]] <<ccoonnttrrooll--BB>> - Page backward ccoouunntt screens. Two lines of overlap are - maintained by displaying the window starting at line - ((ttoopp__lliinnee -- ccoouunntt ** wwiinnddooww__ssiizzee)) ++ 22, where wwiinnddooww__ssiizzee - is the value of the wwiinnddooww option. (In the case of - split screens, this size is corrected to the current - - - - - - - - - - -UUSSDD::1133--1188 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - screen size.) This is an error if the movement is past - the beginning of the file. - - The <<ccoonnttrrooll--BB>> command is an absolute movement. - - Line: Set to the last line of text displayed on the - screen. - Column: Set to the first nonblank character of the - line. - Options: None. - -[[ccoouunntt]] <<ccoonnttrrooll--DD>> - Scroll forward ccoouunntt lines. If ccoouunntt is not specified, - scroll forward the number of lines specified by the - last <<ccoonnttrrooll--DD>> or <<ccoonnttrrooll--UU>> command. If this is - the first <<ccoonnttrrooll--DD>> or <<ccoonnttrrooll--UU>> command, scroll - forward half the number of lines in the screen. (In - the case of split screens, the default scrolling dis- - tance is corrected to half the current screen size.) - This is an error if the movement is past the end of the - file. - - The <<ccoonnttrrooll--DD>> command is an absolute movement. - - Line: Set to the current line plus the number of - lines scrolled. - Column: Set to the first nonblank character of the - line. - Options: None. - -[[ccoouunntt]] <<ccoonnttrrooll--EE>> - Scroll forward ccoouunntt lines, leaving the cursor on the - current line and column, if possible. This is an error - if the movement is past the end of the file. - - Line: Unchanged unless the current line scrolls off - the screen, in which case it is set to the - first line on the screen. - Column: Unchanged unless the current line scrolls off - the screen, in which case it is set to the - most attractive cursor position. - Options: None. - -[[ccoouunntt]] <<ccoonnttrrooll--FF>> - Page forward ccoouunntt screens. Two lines of overlap are - maintained by displaying the window starting at line - ttoopp__lliinnee ++ ccoouunntt ** wwiinnddooww__ssiizzee -- 22, where wwiinnddooww__ssiizzee - is the value of the wwiinnddooww option. (In the case of - split screens, this size is corrected to the current - screen size.) This is an error if the movement is past - the end of the file. - - The <<ccoonnttrrooll--FF>> command is an absolute movement. - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--1199 - - - Line: Set to the first line on the screen. - Column: Set to the first nonblank character of the - current line. - Options: None. - -<<ccoonnttrrooll--GG>> - Display the file information. The information includes - the current pathname, the current line, the number of - total lines in the file, the current line as a percent- - age of the total lines in the file, if the file has - been modified, was able to be locked, if the file's - name has been changed, and if the edit session is read- - only. - - Line: Unchanged. - Column: Unchanged. - Options: None. - -<<ccoonnttrrooll--HH>> -[[ccoouunntt]] hh - Move the cursor back ccoouunntt characters in the current - line. This is an error if the cursor is on the first - character in the line. - - The <<ccoonnttrrooll--HH>> and hh commands may be used as the - motion component of other vvii commands, in which case - any text copied into a buffer is character oriented. - - Line: Unchanged. - Column: Set to the ccuurrrreenntt -- ccoouunntt character, or, the - first character in the line if ccoouunntt is - greater than or equal to the number of charac- - ters in the line before the cursor. - Options: None. - -[[ccoouunntt]] <<ccoonnttrrooll--JJ>> -[[ccoouunntt]] <<ccoonnttrrooll--NN>> -[[ccoouunntt]] jj - Move the cursor down ccoouunntt lines without changing the - current column. This is an error if the movement is - past the end of the file. - - The <<ccoonnttrrooll--JJ>>, <<ccoonnttrrooll--NN>> and jj commands may be used - as the motion component of other vvii commands, in which - case any text copied into a buffer is line oriented. - - Line: Set to the current line plus ccoouunntt. - Column: The most attractive cursor position. - Options: None. - -<<ccoonnttrrooll--LL>> -<<ccoonnttrrooll--RR>> - Repaint the screen. - - - - - - - - - - -UUSSDD::1133--2200 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - Line: Unchanged. - Column: Unchanged. - Options: None. - -[[ccoouunntt]] <<ccoonnttrrooll--MM>> -[[ccoouunntt]] ++ - Move the cursor down ccoouunntt lines to the first nonblank - character of that line. This is an error if the move- - ment is past the end of the file. - - The <<ccoonnttrrooll--MM>> and ++ commands may be used as the - motion component of other vvii commands, in which case - any text copied into a buffer is line oriented. - - Line: Set to the current line plus ccoouunntt. - Column: Set to the first nonblank character in the - line. - Options: None. - -[[ccoouunntt]] <<ccoonnttrrooll--PP>> -[[ccoouunntt]] kk - Move the cursor up ccoouunntt lines, without changing the - current column. This is an error if the movement is - past the beginning of the file. - - The <<ccoonnttrrooll--PP>> and kk commands may be used as the - motion component of other vvii commands, in which case - any text copied into a buffer is line oriented. - - Line: Set to the current line minus count. - Column: The most attractive cursor position. - Options: None. - -<<ccoonnttrrooll--TT>> - Return to the most recent tag context. The <<ccoonnttrrooll--TT>> - command is an absolute movement. - - Line: Set to the context of the previous tag com- - mand. - Column: Set to the context of the previous tag com- - mand. - Options: None. - -<<ccoonnttrrooll--UU>> - Scroll backward ccoouunntt lines. If ccoouunntt is not speci- - fied, scroll backward the number of lines specified by - the last <<ccoonnttrrooll--DD>> or <<ccoonnttrrooll--UU>> command. If this - is the first <<ccoonnttrrooll--DD>> or <<ccoonnttrrooll--UU>> command, scroll - backward half the number of lines in the screen. (In - the case of split screens, the default scrolling dis- - tance is corrected to half the current screen size.) - This is an error if the movement is past the beginning - of the file. - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--2211 - - - The <<ccoonnttrrooll--UU>> command is an absolute movement. - - Line: Set to the current line minus the amount - scrolled. - Column: Set to the first nonblank character in the - line. - Options: None. - -<<ccoonnttrrooll--WW>> - Switch to the next lower screen in the window, or, to - the first screen if there are no lower screens in the - window. - - Line: Set to the previous cursor position in the - window. - Column: Set to the previous cursor position in the - window. - Options: None. - -<<ccoonnttrrooll--YY>> - Scroll backward ccoouunntt lines, leaving the current line - and column as is, if possible. This is an error if the - movement is past the beginning of the file. - - Line: Unchanged unless the current line scrolls off - the screen, in which case it is set to the - last line of text displayed on the screen. - Column: Unchanged unless the current line scrolls off - the screen, in which case it is the most - attractive cursor position. - Options: None. - -<<ccoonnttrrooll--ZZ>> - Suspend the current editor session. If the file has - been modified since it was last completely written, and - the aauuttoowwrriittee option is set, the file is written before - the editor session is suspended. If this write fails, - the editor session is not suspended. - - Line: Unchanged. - Column: Unchanged. - Options: Affected by the aauuttoowwrriittee option. - -<<eessccaappee>> - Execute eexx commands or cancel partial commands. If an - eexx command is being entered (e.g. //, ??, :: or !!), the - command is executed. If a partial command has been - entered, e.g. or the command is cancelled. Otherwise, - it is an error. - - Line: When an eexx command is being executed, the cur- - rent line is set as described for that com- - mand. Otherwise, unchanged. - - - - - - - - - - -UUSSDD::1133--2222 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - Column: When an eexx command is being executed, the cur- - rent column is set as described for that com- - mand. Otherwise, unchanged. - Options: None. - -<<ccoonnttrrooll--]]>> - Push a tag reference onto the tag stack. The tags - files (see the ttaaggss option for more information) are - searched for a tag matching the current word. The cur- - rent word begins at the first non-whitespace character - on or after the current cursor position, and extends up - to the next non-word character or the end of the line. - If a matching tag is found, the current file is dis- - carded and the file containing the tag reference is - edited. - - If the current file has been modified since it was last - completely written, the command will fail. The <<ccoonn-- - ttrrooll--]]>> command is an absolute movement. - - Line: Set to the line containing the matching tag - string. - Column: Set to the start of the matching tag string. - Options: Affected by the ttaaggss and ttaagglleennggtthh options. - -<<ccoonnttrrooll--^^>> - Switch to the most recently edited file. - - If the file has been modified since it was last com- - pletely written, and the aauuttoowwrriittee option is set, the - file is written out. If this write fails, the command - will fail. Otherwise, if the current file has been - modified since it was last completely written, the com- - mand will fail. - - Line: Set to the line the cursor was on when the - file was last edited. - Column: Set to the column the cursor was on when the - file was last edited. - Options: Affected by the aauuttoowwrriittee option. - -[[ccoouunntt]] <<ssppaaccee>> -[[ccoouunntt]] ll - Move the cursor forward ccoouunntt characters without chang- - ing the current line. This is an error if the cursor - is on the last character in the line. - - The <<ssppaaccee>> and ll commands may be used as the motion - component of other vvii commands, in which case any text - copied into a buffer is character oriented. In addi- - tion, these commands may be used as the motion compo- - nents of other commands when the cursor is on the last - character in the line, without error. - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--2233 - - - Line: Unchanged. - Column: Set to the current character plus the next - ccoouunntt characters, or to the last character on - the line if ccoouunntt is greater than the number - of characters in the line after the current - character. - Options: None. - -[[ccoouunntt]] !! mmoottiioonn sshheellll--aarrgguummeenntt((ss)) - Replace text with results from a shell command. Pass - the lines specified by the ccoouunntt and mmoottiioonn arguments - as standard input to the program named by the sshheellll - option, and replace those lines with the output (both - standard error and standard output) of that command. - - After the motion is entered, vvii prompts for arguments - to the shell command. - - Within those arguments, "%%" and "##" characters are - expanded to the current and alternate pathnames, - respectively. The "!!" character is expanded with the - command text of the previous !! or ::!! commands. - (Therefore, the command !!!! repeats the previous !! - command.) The special meanings of "%%", "##" and "!!" - can be overridden by escaping them with a backslash. - If no !! or ::!! command has yet been executed, it is an - error to use an unescaped "!!" character. The !! com- - mand does _n_o_t do shell expansion on the strings pro- - vided as arguments. If any of the above expansions - change the arguments the user entered, the command is - redisplayed at the bottom of the screen. - - VVii then executes the program named by the sshheellll option, - with a --cc flag followed by the arguments (which are - bundled into a single argument). - - The !! command is permitted in an empty file. - - If the file has been modified since it was last com- - pletely written, the !! command will warn you. - - Line: The first line of the replaced text. - Column: The first column of the replaced text. - Options: Affected by the sshheellll option. - -[[ccoouunntt]] ## ++||--||## - Increment or decrement the current number. The current - number begins at the first non-number character on or - before the current cursor position, or the beginning of - the line, and extends up to the first non-number char- - acter on or after the current cursor position or the - end of the line. If the trailing character is a ++, the - number is incremented by ccoouunntt. If the trailing - - - - - - - - - - -UUSSDD::1133--2244 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - character is a --, the number is decremented by ccoouunntt. - If the trailing character is a ##, the previous incre- - ment or decrement is repeated. - - The format of the number (decimal, hexadecimal, and - octal, and leading 0's) is retained unless the new - value cannot be represented in the previous format. - - Line: Unchanged. - Column: Set to the first character in the cursor word. - Options: None. - -[[ccoouunntt]] $$ - Move the cursor to the end of a line. If ccoouunntt is - specified, the cursor moves down ccoouunntt -- 11 lines. - - It is not an error to use the $$ command when the cursor - is on the last character in the line or when the line - is empty. - - The $$ command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented, unless the cursor is at, - or before the first nonblank character in the line, in - which case it is line oriented. It is not an error to - use the $$ command as a motion component when the cursor - is on the last character in the line, although it is an - error when the line is empty. - - Line: Set to the current line plus ccoouunntt minus 1. - Column: Set to the last character in the line. - Options: None. - -%% - Move to the matching character. The cursor moves to - the parenthesis or curly brace which _m_a_t_c_h_e_s the paren- - thesis or curly brace found at the current cursor posi- - tion or which is the closest one to the right of the - cursor on the line. It is an error to execute the %% - command on a line without a parenthesis or curly brace. - Historically, any ccoouunntt specified to the %% command was - ignored. - - The %% command is an absolute movement. The %% command - may be used as the motion component of other vvii com- - mands, in which case any text copied into a buffer is - character oriented, unless the starting point of the - region is at or before the first nonblank character on - its line, and the ending point is at or after the last - nonblank character on its line, in which case it is - line oriented. - - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--2255 - - - Line: Set to the line containing the matching char- - acter. - Column: Set to the matching character. - Options: None. - -&& - Repeat the previous substitution command on the current - line. - - Historically, any ccoouunntt specified to the && command was - ignored. - - Line: Unchanged. - Column: Unchanged if the cursor was on the last char- - acter in the line, otherwise, set to the first - nonblank character in the line. - Options: Affected by the eeddccoommppaattiibbllee, eexxtteennddeedd, - iiggnnoorreeccaassee and mmaaggiicc options. - -''<<cchhaarraacctteerr>> -``<<cchhaarraacctteerr>> - Return to a context marked by the character <<cchhaarraacc-- - tteerr>>. If <<cchhaarraacctteerr>> is the "''" or "``" character, - return to the previous context. If <<cchhaarraacctteerr>> is any - other character, return to the context marked by that - character (see the mm command for more information). If - the command is the '' command, only the line value is - restored, and the cursor is placed on the first non- - blank character of that line. If the command is the `` - command, both the line and column values are restored. - - It is an error if the context no longer exists because - of line deletion. (Contexts follow lines that are - moved, or which are deleted and then restored.) - - The '' and `` commands are both absolute movements. They - may be used as a motion component for other vvii com- - mands. For the '' command, any text copied into a - buffer is line oriented. For the `` command, any text - copied into a buffer is character oriented, unless it - both starts and stops at the first character in the - line, in which case it is line oriented. In addition, - when using the `` command as a motion component, com- - mands which move backward and started at the first - character in the line, or move forward and ended at the - first character in the line, are corrected to the last - character of the starting and ending lines, respec- - tively. - - Line: Set to the line from the context. - Column: Set to the first nonblank character in the - line, for the '' command, and set to the con- - text's column for the `` command. - - - - - - - - - - -UUSSDD::1133--2266 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - Options: None. - -[[ccoouunntt]] (( - Back up ccoouunntt sentences. - - The (( command is an absolute movement. The (( command - may be used as the motion component of other vvii com- - mands, in which case any text copied into a buffer is - character oriented, unless the starting and stopping - points of the region are the first character in the - line, in which case it is line oriented. In the latter - case, the stopping point of the region is adjusted to - be the end of the line immediately before it, and not - the original cursor position. - - Line: Set to the line containing the beginning of - the sentence. - Column: Set to the first nonblank character of the - sentence. - Options: None. - -[[ccoouunntt]] )) - Move forward ccoouunntt sentences. - - The )) command is an absolute movement. The )) command - may be used as the motion component of other vvii com- - mands, in which case any text copied into a buffer is - character oriented, unless the starting point of the - region is the first character in the line, in which - case it is line oriented. In the latter case, if the - stopping point of the region is also the first charac- - ter in the line, it is adjusted to be the end of the - line immediately before it. - - Line: Set to the line containing the beginning of - the sentence. - Column: Set to the first nonblank character of the - sentence. - Options: None. - -[[ccoouunntt]] ,, - Reverse find character ccoouunntt times. Reverse the last - FF, ff, TT or tt command, searching the other way in the - line, ccoouunntt times. - - The ,, command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. - - Line: Unchanged. - Column: Set to the searched-for character. - Options: None. - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--2277 - - -[[ccoouunntt]] -- - Move to first nonblank of the previous line, ccoouunntt - times. - - This is an error if the movement is past the beginning - of the file. - - The -- command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is line oriented. - - Line: Set to the current line minus ccoouunntt. - Column: Set to the first nonblank character in the - line. - Options: None. - -[[ccoouunntt]] .. - Repeat the last vvii command that modified text. The - repeated command may be a command and motion component - combination. If ccoouunntt is specified, it replaces _b_o_t_h - the count specified for the repeated command, and, if - applicable, for the repeated motion component. If - ccoouunntt is not specified, the counts originally specified - to the command being repeated are used again. - - As a special case, if the .. command is executed imme- - diately after the uu command, the change log is rolled - forward or backward, depending on the action of the uu - command. - - Line: Set as described for the repeated command. - Column: Set as described for the repeated command. - Options: None. - -//RREE<<ccaarrrriiaaggee--rreettuurrnn>> -//RREE// [[ooffffsseett]]<<ccaarrrriiaaggee--rreettuurrnn>> -??RREE<<ccaarrrriiaaggee--rreettuurrnn>> -??RREE?? [[ooffffsseett]]<<ccaarrrriiaaggee--rreettuurrnn>> -NN -nn - Search forward or backward for a regular expression. - The commands beginning with a slash ("//") character are - forward searches, the commands beginning with a ques- - tion mark ("??") are backward searches. VVii prompts - with the leading character on the last line of the - screen for a string. It then searches forward or back- - ward in the file for the next occurrence of the string, - which is interpreted as a Basic Regular Expression. - - The // and ?? commands are absolute movements. They may - be used as the motion components of other vvii commands, - in which case any text copied into a buffer is charac- - ter oriented, unless the search started and ended on - - - - - - - - - - -UUSSDD::1133--2288 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - the first column of a line, in which case it is line - oriented. In addition, forward searches ending at the - first character of a line, and backward searches begin- - ning at the first character in the line, are corrected - to begin or end at the last character of the previous - line. (Note, forward and backward searches can occur - for both // and ?? commands, if the wwrraappssccaann option is - set.) - - If an offset from the matched line is specified (i.e. a - trailing "//" or "??" character is followed by a signed - offset), the buffer will always be line oriented (e.g. - "//ssttrriinngg//++00" will always guarantee a line orientation). - - The nn command repeats the previous search. - - The NN command repeats the previous search, but in the - reverse direction. - - Missing RE's (e.g. "////<<ccaarrrriiaaggee--rreettuurrnn>>", "//<<ccaarrrriiaaggee-- - rreettuurrnn>>", "????<<ccaarrrriiaaggee--rreettuurrnn>>", or "??<<ccaarrrriiaaggee-- - rreettuurrnn>>" search for the last search RE, in the indi- - cated direction. - - Searches may be interrupted using the <<iinntteerrrruupptt>> char- - acter. - - Line: Set to the line in which the match occurred. - Column: Set to the first character of the matched - string. - Options: Affected by the eeddccoommppaattiibbllee, eexxtteennddeedd, - iiggnnoorreeccaassee, mmaaggiicc, and wwrraappssccaann options. - -00 - Move to the first character in the current line. It is - not an error to use the 00 command when the cursor is on - the first character in the line, - - The 00 command may be used as the motion component of - other vvii commands, in which case it is an error if the - cursor is on the first character in the line. - - Line: Unchanged. - Column: Set to the first character in the line. - Options: None. - -:: - Execute an ex command. VVii prompts for an eexx command on - the last line of the screen, using a colon ("::") char- - acter. The command is terminated by a <<ccaarrrriiaaggee-- - rreettuurrnn>>, <<nneewwlliinnee>> or <<eessccaappee>> character; all of these - characters may be escaped by using a <<lliitteerraall nneexxtt>> - character. The command is then executed. - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--2299 - - - If the eexx command writes to the screen, vvii will prompt - the user for a <<ccaarrrriiaaggee--rreettuurrnn>> before continuing when - the eexx command finishes. Large amounts of output from - the eexx command will be paged for the user, and the user - prompted for a <<ccaarrrriiaaggee--rreettuurrnn>> or <<ssppaaccee>> key to con- - tinue. In some cases, a quit (normally a "q" charac- - ter) or <<iinntteerrrruupptt>> may be entered to interrupt the eexx - command. - - When the eexx command finishes, and the user is prompted - to resume visual mode, it is also possible to enter - another "::" character followed by another eexx command. - - Line: The current line is set as described for the - eexx command. - Column: The current column is set as described for the - eexx command. - Options: None. - -[[ccoouunntt]] ;; - Repeat the last character find ccoouunntt times. The last - character find is one of the FF, ff, TT or tt commands. - - The ;; command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. - - Line: Unchanged. - Column: Set to the searched-for character. - Options: None. - -[[ccoouunntt]] << mmoottiioonn -[[ccoouunntt]] >> mmoottiioonn - Shift lines left or right. Shift the number of lines - in the region specified by the motion component, times - ccoouunntt, left (for the << command) or right (for the >> - command) by the number of columns specified by the - sshhiiffttwwiiddtthh option. Only whitespace characters are - deleted when shifting left; once the first character in - the line contains a nonblank character, the sshhiifftt will - succeed, but the line will not be modified. - - Line: Unchanged. - Column: Set to the first nonblank character in the - line. - Options: Affected by the sshhiiffttwwiiddtthh option. - -@@ bbuuffffeerr - Execute a named buffer. Execute the named buffer as vvii - commands. The buffer may include eexx commands, too, but - they must be expressed as a :: command. If the buffer - is line oriented, <<nneewwlliinnee>> characters are logically - appended to each line of the buffer. If the buffer is - - - - - - - - - - -UUSSDD::1133--3300 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - character oriented, <<nneewwlliinnee>> characters are logically - appended to all but the last line in the buffer. - - If the buffer name is "@@", or "**", then the last buffer - executed shall be used. It is an error to specify "@@@@" - or "****" if there were no buffer previous executions. - The text of a macro may contain an @@ command, and it is - possible to create infinite loops in this manner. (The - <<iinntteerrrruupptt>> character may be used to interrupt the - loop.) - - Line: The current line is set as described for the - command(s). - Column: The current column is set as described for the - command(s). - Options: None. - -[[ccoouunntt]] AA - Enter input mode, appending the text after the end of - the line. If ccoouunntt is specified, the text is repeat- - edly input ccoouunntt -- 11 more times after input mode is - exited. - - Line: Set to the last line upon which characters - were entered. - Column: Set to the last character entered. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, bbeeaauu-- - ttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraappmmaarrggiinn - options. - -[[ccoouunntt]] BB - Move backward ccoouunntt bigwords. Move the cursor backward - to the beginning of a bigword by repeating the follow- - ing algorithm: if the current position is at the begin- - ning of a bigword or the character at the current posi- - tion cannot be part of a bigword, move to the first - character of the preceding bigword. Otherwise, move to - the first character of the bigword at the current posi- - tion. If no preceding bigword exists on the current - line, move to the first character of the last bigword - on the first preceding line that contains a bigword. - - The BB command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. - - Line: Set to the line containing the word selected. - Column: Set to the first character of the word - selected. - Options: None. - -[[bbuuffffeerr]] [[ccoouunntt]] CC - Change text from the current position to the end-of- - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--3311 - - - line. If ccoouunntt is specified, the input text replaces - from the current position to the end-of-line, plus - ccoouunntt -- 11 subsequent lines. - - Line: Set to the last line upon which characters - were entered. - Column: Set to the last character entered. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, bbeeaauu-- - ttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraappmmaarrggiinn - options. - -[[bbuuffffeerr]] DD - Delete text from the current position to the end-of- - line. - - It is not an error to execute the DD command on an empty - line. - - Line: Unchanged. - Column: Set to the character before the current char- - acter, or, column 1 if the cursor was on col- - umn 1. - Options: None. - -[[ccoouunntt]] EE - Move forward ccoouunntt end-of-bigwords. Move the cursor - forward to the end of a bigword by repeating the fol- - lowing algorithm: if the current position is the end of - a bigword or the character at that position cannot be - part of a bigword, move to the last character of the - following bigword. Otherwise, move to the last charac- - ter of the bigword at the current position. If no suc- - ceeding bigword exists on the current line, move to the - last character of the first bigword on the next follow- - ing line that contains a bigword. - - The EE command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. - - Line: Set to the line containing the word selected. - Column: Set to the last character of the word - selected. - Options: None. - -[[ccoouunntt]] FF <<cchhaarraacctteerr>> - Search ccoouunntt times backward through the current line - for <<cchhaarraacctteerr>>. - - The FF command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. - - - - - - - - - - - -UUSSDD::1133--3322 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - Line: Unchanged. - Column: Set to the searched-for character. - Options: None. - -[[ccoouunntt]] GG - Move to line ccoouunntt, or the last line of the file if - ccoouunntt not specified. - - The GG command is an absolute movement. The GG command - may be used as the motion component of other vvii com- - mands, in which case any text copied into a buffer is - line oriented. - - Line: Set to ccoouunntt, if specified, otherwise, the - last line. - Column: Set to the first nonblank character in the - line. - Options: None. - -[[ccoouunntt]] HH - Move to the screen line ccoouunntt -- 11 lines below the top - of the screen. - - The HH command is an absolute movement. The HH command - may be used as the motion component of other vvii com- - mands, in which case any text copied into a buffer is - line oriented. - - Line: Set to the line ccoouunntt -- 11 lines below the top - of the screen. - Column: Set to the first nonblank character of the - _s_c_r_e_e_n line. - Options: None. - -[[ccoouunntt]] II - Enter input mode, inserting the text at the beginning - of the line. If ccoouunntt is specified, the text input is - repeatedly input ccoouunntt -- 11 more times. - - Line: Set to the last line upon which characters - were entered. - Column: Set to the last character entered. - Options: None. - -[[ccoouunntt]] JJ - Join lines. If ccoouunntt is specified, ccoouunntt lines are - joined; a minimum of two lines are always joined, - regardless of the value of ccoouunntt. - - If the current line ends with a whitespace character, - all whitespace is stripped from the next line. Other- - wise, if the next line starts with a open parenthesis - ("((") do nothing. Otherwise, if the current line ends - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--3333 - - - with a question mark ("??"), period ("..") or exclama- - tion point ("!!"), insert two spaces. Otherwise, insert - a single space. - - It is not an error to join lines past the end of the - file, i.e. lines that do not exist. - - Line: Unchanged. - Column: Set to the character after the last character - of the next-to-last joined line. - Options: None. - -[[ccoouunntt]] LL - Move to the screen line ccoouunntt -- 11 lines above the bot- - tom of the screen. - - The LL command is an absolute movement. The LL command - may be used as the motion component of other vvii com- - mands, in which case any text copied into a buffer is - line oriented. - - Line: Set to the line ccoouunntt -- 11 lines above the bot- - tom of the screen. - Column: Set to the first nonblank character of the - _s_c_r_e_e_n line. - Options: None. - - MM - Move to the screen line in the middle of the screen. - - The MM command is an absolute movement. The MM command - may be used as the motion component of other vvii com- - mands, in which case any text copied into a buffer is - line oriented. - - Historically, any ccoouunntt specified to the MM command was - ignored. - - Line: Set to the line in the middle of the screen. - Column: Set to the first nonblank character of the - _s_c_r_e_e_n line. - Options: None. - -[[ccoouunntt]] OO - Enter input mode, appending text in a new line above - the current line. If ccoouunntt is specified, the text - input is repeatedly input ccoouunntt -- 11 more times. - - Historically, any ccoouunntt specified to the OO command was - ignored. - - Line: Set to the last line upon which characters - were entered. - - - - - - - - - - -UUSSDD::1133--3344 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - Column: Set to the last character entered. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, bbeeaauu-- - ttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraappmmaarrggiinn - options. - -[[bbuuffffeerr]] PP - Insert text from a buffer. Text from the buffer (the - unnamed buffer by default) is inserted before the cur- - rent column or, if the buffer is line oriented, before - the current line. - - Line: Set to the lowest numbered line insert, if the - buffer is line oriented, otherwise unchanged. - Column: Set to the first nonblank character of the - appended text, if the buffer is line oriented, - otherwise, the last character of the appended - text. - Options: None. - -QQ - Exit vvii (or visual) mode and switch to eexx mode. - - Line: Unchanged. - Column: No longer relevant. - Options: None. - -[[ccoouunntt]] RR - Enter input mode, replacing the characters in the cur- - rent line. If ccoouunntt is specified, the text input is - repeatedly input ccoouunntt -- 11 more times. - - If the end of the current line is reached, no more - characters are replaced and any further characters - input are appended to the line. - - Line: Set to the last line upon which characters - were entered. - Column: Set to the last character entered. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, bbeeaauu-- - ttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraappmmaarrggiinn - options. - -[[bbuuffffeerr]] [[ccoouunntt]] SS - Substitute ccoouunntt lines. - - Line: Set to the last line upon which characters - were entered. - Column: Set to the last character entered. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, bbeeaauu-- - ttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraappmmaarrggiinn - options. - - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--3355 - - -[[ccoouunntt]] TT <<cchhaarraacctteerr>> - Search backward, ccoouunntt times, through the current line - for the character _a_f_t_e_r the specified <<cchhaarraacctteerr>>. - - The TT command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. - - Line: Unchanged. - Column: Set to the character _a_f_t_e_r the searched-for - character. - Options: None. - -UU - Restore the current line to its state before the cursor - last moved to it. - - Line: Unchanged. - Column: The first character in the line. - Options: None. - -[[ccoouunntt]] WW - Move forward ccoouunntt bigwords. Move the cursor forward - to the beginning of a bigword by repeating the follow- - ing algorithm: if the current position is within a big- - word or the character at that position cannot be part - of a bigword, move to the first character of the next - bigword. If no subsequent bigword exists on the cur- - rent line, move to the first character of the first - bigword on the first following line that contains a - bigword. - - The WW command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. - - Line: The line containing the word selected. - Column: The first character of the word selected. - Options: None. - -[[bbuuffffeerr]] [[ccoouunntt]] XX - Delete ccoouunntt characters before the cursor. If the num- - ber of characters to be deleted is greater than or - equal to the number of characters to the beginning of - the line, all of the characters before the current cur- - sor position, to the beginning of the line, are - deleted. - - Line: Unchanged. - Column: Set to the current character minus ccoouunntt, or - the first character if count is greater than - the number of characters in the line before - the cursor. - - - - - - - - - - -UUSSDD::1133--3366 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - Options: None. - -[[bbuuffffeerr]] [[ccoouunntt]] YY - Copy (or "yank") ccoouunntt lines into the specified buffer. - - Line: Unchanged. - Column: Unchanged. - Options: None. - -ZZZZ - Write the file and exit vvii. The file is only written - if it has been modified since the last complete write - of the file to any file. - - The ZZZZ command will exit the editor after writing the - file, if there are no further files to edit. Entering - two "quit" commands (i.e. wwqq, qquuiitt, xxiitt or ZZZZ) in a - row will override this check and the editor will exit, - ignoring any files that have not yet been edited. - - Line: Unchanged. - Column: Unchanged. - Options: None. - -[[ccoouunntt]] [[[[ - Back up ccoouunntt section boundaries. - - The [[[[ command is an absolute movement. The [[[[ command - may be used as the motion component of other vvii com- - mands, in which case any text copied into a buffer is - character oriented, unless the starting position is - column 0, in which case it is line oriented. - - This is an error if the movement is past the beginning - of the file. - - Line: Set to the previous line that is ccoouunntt section - boundaries back, or the first line of the file - if no more section boundaries exist preceding - the current line. - Column: Set to the first nonblank character in the - line. - Options: Affected by the sseeccttiioonnss option. - -[[ccoouunntt]] ]]]] - Move forward ccoouunntt section boundaries. - - The ]]]] command is an absolute movement. The ]]]] command - may be used as the motion component of other vvii com- - mands, in which case any text copied into a buffer is - character oriented, unless the starting position is - column 0, in which case it is line oriented. - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--3377 - - - This is an error if the movement is past the end of the - file. - - Line: Set to the line that is ccoouunntt section bound- - aries forward, or to the last line of the file - if no more section boundaries exist following - the current line. - Column: Set to the first nonblank character in the - line. - Options: Affected by the sseeccttiioonnss option. - -^^ - Move to first nonblank character on the current line. - - The ^^ command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. - - Line: Unchanged. - Column: Set to the first nonblank character of the - current line. - Options: None. - -[[ccoouunntt]] __ - Move down ccoouunntt -- 11 lines, to the first nonblank char- - acter. The __ command may be used as the motion compo- - nent of other vvii commands, in which case any text - copied into a buffer is line oriented. - - It is not an error to execute the __ command when the - cursor is on the first character in the line. - - Line: The current line plus ccoouunntt -- 11. - Column: The first nonblank character in the line. - Options: None. - -[[ccoouunntt]] aa - Enter input mode, appending the text after the cursor. - If ccoouunntt is specified, the text input is repeatedly - input ccoouunntt -- 11 more times. - - Line: Set to the last line upon which characters - were entered. - Column: Set to the last character entered. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, bbeeaauu-- - ttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraappmmaarrggiinn - options. - -[[ccoouunntt]] bb - Move backward ccoouunntt words. Move the cursor backward to - the beginning of a word by repeating the following - algorithm: if the current position is at the beginning - of a word, move to the first character of the preceding - - - - - - - - - - -UUSSDD::1133--3388 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - word. Otherwise, the current position moves to the - first character of the word at the current position. - If no preceding word exists on the current line, move - to the first character of the last word on the first - preceding line that contains a word. - - The bb command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. - - Line: Set to the line containing the word selected. - Column: Set to the first character of the word - selected. - Options: None. - -[[bbuuffffeerr]] [[ccoouunntt]] cc mmoottiioonn - Change a region of text. If only part of a single line - is affected, then the last character being changed is - marked with a "$$". Otherwise, the region of text is - deleted, and input mode is entered. - - If ccoouunntt is specified, it is applied to the mmoottiioonn. - - Line: Set to the last line upon which characters - were entered. - Column: Set to the last character entered. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, bbeeaauu-- - ttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraappmmaarrggiinn - options. - -[[bbuuffffeerr]] [[ccoouunntt]] dd mmoottiioonn - Delete a region of text. If ccoouunntt is specified, it is - applied to the mmoottiioonn. - - Line: Set to the line where the region starts. - Column: Set to the first character in the line after - the last character in the region. If no such - character exists, set to the last character - before the region. - Options: None. - -[[ccoouunntt]] ee - Move forward ccoouunntt end-of-words. Move the cursor for- - ward to the end of a word by repeating the following - algorithm: if the current position is the end of a - word, move to the last character of the following word. - Otherwise, move to the last character of the word at - the current position. If no succeeding word exists on - the current line, move to the last character of the - first word on the next following line that contains a - word. - - The ee command may be used as the motion component of - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--3399 - - - other vvii commands, in which case any text copied into a - buffer is character oriented. - - Line: Set to the line containing the word selected. - Column: Set to the last character of the word - selected. - Options: None. - -[[ccoouunntt]] ff <<cchhaarraacctteerr>> - Search forward, ccoouunntt times, through the rest of the - current line for <<cchhaarraacctteerr>>. - - The ff command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. - - Line: Unchanged. - Column: Set to the searched-for character. - Options: None. - -[[ccoouunntt]] ii - Enter input mode, inserting the text before the cursor. - If ccoouunntt is specified, the text input is repeatedly - input ccoouunntt -- 11 more times. - - Line: Set to the last line upon which characters - were entered. - Column: Set to the last character entered. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, bbeeaauu-- - ttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraappmmaarrggiinn - options. - -mm <<cchhaarraacctteerr>> - Save the current context (line and column) as <<cchhaarraacc-- - tteerr>>. The exact position is referred to by "``<<cchhaarraacc-- - tteerr>>". The line is referred to by "''<<cchhaarraacctteerr>>". - - Historically, <<cchhaarraacctteerr>> was restricted to lower-case - letters only, nnvvii permits the use of any character. - - Line: Unchanged. - Column: Unchanged. - Options: None. - -[[ccoouunntt]] oo - Enter input mode, appending text in a new line under - the current line. If ccoouunntt is specified, the text - input is repeatedly input ccoouunntt -- 11 more times. - - Historically, any ccoouunntt specified to the oo command was - ignored. - - - - - - - - - - - - -UUSSDD::1133--4400 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - Line: Set to the last line upon which characters - were entered. - Column: Set to the last character entered. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, bbeeaauu-- - ttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraappmmaarrggiinn - options. - -[[bbuuffffeerr]] pp - Append text from a buffer. Text from the buffer (the - unnamed buffer by default) is appended after the cur- - rent column or, if the buffer is line oriented, after - the current line. - - Line: Set to the first line appended, if the buffer - is line oriented, otherwise unchanged. - Column: Set to the first nonblank character of the - appended text if the buffer is line oriented, - otherwise, the last character of the appended - text. - Options: None. - -[[ccoouunntt]] rr <<cchhaarraacctteerr>> - Replace characters. The next ccoouunntt characters in the - line are replaced with <<cchhaarraacctteerr>>. Replacing charac- - ters with <<nneewwlliinnee>> characters results in creating new, - empty lines into the file. - - If <<cchhaarraacctteerr>> is <<eessccaappee>>, the command is cancelled. - - Line: Unchanged unless the replacement character is - a <<nneewwlliinnee>>, in which case it is set to the - current line plus ccoouunntt -- 11. - Column: Set to the last character replaced, unless the - replacement character is a <<nneewwlliinnee>>, in which - case the cursor is in column 1 of the last - line inserted. - Options: None. - -[[bbuuffffeerr]] [[ccoouunntt]] ss - Substitute ccoouunntt characters in the current line start- - ing with the current character. - - Line: Set to the last line upon which characters - were entered. - Column: Set to the last character entered. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, bbeeaauu-- - ttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraappmmaarrggiinn - options. - -[[ccoouunntt]] tt <<cchhaarraacctteerr>> - Search forward, ccoouunntt times, through the current line - for the character immediately _b_e_f_o_r_e <<cchhaarraacctteerr>>. - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--4411 - - - The tt command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. - - Line: Unchanged. - Column: Set to the character _b_e_f_o_r_e the searched-for - character. - Options: None. - -uu - Undo the last change made to the file. If repeated, - the uu command alternates between these two states, and - is its own inverse. When used after an insert that - inserted text on more than one line, the lines are - saved in the numeric buffers. - - The .. command, when used immediately after the uu com- - mand, causes the change log to be rolled forward or - backward, depending on the action of the uu command. - - Line: Set to the position of the first line changed, - if the reversal affects only one line or rep- - resents an addition or change; otherwise, the - line preceding the deleted text. - Column: Set to the cursor position before the change - was made. - Options: None. - -[[ccoouunntt]] ww - Move forward ccoouunntt words. Move the cursor forward to - the beginning of a word by repeating the following - algorithm: if the current position is at the beginning - of a word, move to the first character of the next - word. If no subsequent word exists on the current - line, move to the first character of the first word on - the first following line that contains a word. - - The ww command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. - - Line: Set to the line containing the word selected. - Column: Set to the first character of the word - selected. - Options: None. - -[[bbuuffffeerr]] [[ccoouunntt]] xx - Delete ccoouunntt characters. The deletion is at the cur- - rent character position. If the number of characters - to be deleted is greater than or equal to the number of - characters to the end of the line, all of the charac- - ters from the current cursor position to the end of the - line are deleted. - - - - - - - - - - -UUSSDD::1133--4422 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - Line: Unchanged. - Column: Unchanged unless the last character in the - line is deleted and the cursor is not already - on the first character in the line, in which - case it is set to the previous character. - Options: None. - -[[bbuuffffeerr]] [[ccoouunntt]] yy mmoottiioonn - Copy (or "yank") a text region specified by the ccoouunntt - and motion into a buffer. If ccoouunntt is specified, it is - applied to the mmoottiioonn. - - Line: Unchanged, unless the region covers more than - a single line, in which case it is set to the - line where the region starts. - Column: Unchanged, unless the region covers more than - a single line, in which case it is set to the - character were the region starts. - Options: None. - -[[ccoouunntt11]] zz [[ccoouunntt22]] ttyyppee - Redraw the screen with a window ccoouunntt22 lines long, with - line ccoouunntt11 placed as specified by the ttyyppee character. - If ccoouunntt11 is not specified, it defaults to the current - line. If ccoouunntt22 is not specified, it defaults to the - current window size. - - The following ttyyppee characters may be used: - - + If ccoouunntt11 is specified, place the line ccoouunntt11 - at the top of the screen. Otherwise, display - the screen after the current screen, similarly - to the <<ccoonnttrrooll--FF>> command. - <carriage-return> - Place the line ccoouunntt11 at the top of the - screen. - . Place the line ccoouunntt11 in the center of the - screen. - - Place the line ccoouunntt11 at the bottom of the - screen. - ^ If ccoouunntt11 is specified, place the line that is - at the top of the screen when ccoouunntt11 is at the - bottom of the screen, at the bottom of the - screen, i.e. display the screen before the - screen before ccoouunntt11. Otherwise, display the - screen before the current screen, similarly to - the <<ccoonnttrrooll--BB>> command. - - Line: Set to ccoouunntt11 unless ccoouunntt11 is not specified - and the ttyyppee character was either "^^" or "++", - in which case it is set to the line before the - first line on the previous screen or the line - after the last line on the previous screen, - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--4433 - - - respectively. - Column: Set to the first nonblank character in the - line. - Options: None. - -[[ccoouunntt]] {{ - Move backward ccoouunntt paragraphs. - - The {{ command is an absolute movement. The {{ command - may be used as the motion component of other vvii com- - mands, in which case any text copied into a buffer is - character oriented, unless the starting character is - the first character on its line, in which case it is - line oriented. - - Line: Set to the line containing the beginning of - the previous paragraph. - Column: Set to the first nonblank character in the - line. - Options: Affected by the ppaarraaggrraapphh option. - -[[ccoouunntt]] || - Move to a specific _c_o_l_u_m_n position on the current line. - - The || command may be used as the motion component of - other vvii commands, in which case any text copied into a - buffer is character oriented. It is an error to use - the || command as a motion component and for the cursor - not to move. - - Line: Unchanged. - Column: Set to the character occupying the column - position identified by ccoouunntt, if the position - exists in the line. If the column length of - the current line is less than ccoouunntt, the cur- - sor is moved to the last character in the - line. - Options: None. - -[[ccoouunntt]] }} - Move forward ccoouunntt paragraphs. - - The }} command is an absolute movement. The }} command - may be used as the motion component of other vvii com- - mands, in which case any text copied into a buffer is - character oriented, unless the starting character is at - or before any nonblank characters in its line, in which - case it is line oriented. - - Line: Set to the line containing the beginning of - the next paragraph. - Column: Set to the first nonblank character in the - line. - - - - - - - - - - -UUSSDD::1133--4444 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - Options: Affected by the ppaarraaggrraapphh option. - -[[ccoouunntt]] ~~ - Reverse the case of the next ccoouunntt character(s). This - is the historic semantic for the ~~ command and it is - only in effect if the ttiillddeeoopp option is not set. - - Lowercase alphabetic characters are changed to upper- - case, and uppercase characters are changed to lower- - case. No other characters are affected. - - Historically, the ~~ command did not take an associated - count, nor did it move past the end of the current - line. As it had no associated motion it was difficult - to change the case of large blocks of text. In nnvvii, if - the cursor is on the last character of a line, and - there are more lines in the file, the cursor moves to - the next line. - - It is not an error to specify a count larger than the - number of characters between the cursor and the end of - the file. - - Line: Set to the line of the character after ccoouunntt - characters, or, end of file. - Column: Set to the character after ccoouunntt characters, - or, end-of-file. - Options: Affected by the ttiillddeeoopp option. - -[[ccoouunntt]] ~~ mmoottiioonn - Reverse the case of the characters in a text region - specified by the ccoouunntt and mmoottiioonn. Only in effect if - the ttiillddeeoopp option is set. - - Lowercase characters are changed to uppercase, and - uppercase characters are changed to lowercase. No - other characters are affected. - - Line: Set to the line of the character after the - last character in the region. - Column: Set to the character after the last character - in the region. - Options: Affected by the ttiillddeeoopp option. - -<<iinntteerrrruupptt>> - Interrupt the current operation. Many of the poten- - tially long-running vvii commands may be interrupted - using the terminal interrupt character. These opera- - tions include searches, file reading and writing, fil- - ter operations and map character expansion. Interrupts - are also enabled when running commands outside of vvii. - - If the <<iinntteerrrruupptt>> character is used to interrupt while - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--4455 - - - entering an eexx command, the command is aborted, the - cursor returns to its previous position, and vvii remains - in command mode. - - Generally, if the <<iinntteerrrruupptt>> character is used to - interrupt any operation, any changes made before the - interrupt are left in place. - - Line: Dependent on the operation being interrupted. - Column: Dependent on the operation being interrupted. - Options: None. - - 1111.. VVii TTeexxtt IInnppuutt CCoommmmaannddss - - The following section describes the commands - available in the text input mode of the vvii editor. - - Historically, vvii implementations only permitted - the characters inserted on the current line to be - erased. In addition, only the <<ccoonnttrrooll--DD>> erase char- - acter and the "00<<ccoonnttrrooll--DD>>" and "^^<<ccoonnttrrooll--DD>>" erase - strings could erase autoindent characters. This imple- - mentation permits erasure to continue past the begin- - ning of the current line, and back to where text input - mode was entered. In addition, autoindent characters - may be erased using the standard erase characters. For - the line and word erase characters, reaching the - autoindent characters forms a "soft" boundary, denoting - the end of the current word or line erase. Repeating - the word or line erase key will erase the autoindent - characters. - - Historically, vvii always used <<ccoonnttrrooll--HH>> and <<ccoonn-- - ttrrooll--WW>> as character and word erase characters, respec- - tively, regardless of the current terminal settings. - This implementation accepts, in addition to these two - characters, the current terminal characters for those - operations. - - <<nnuull>> - If the first character of the input is a <<nnuull>>, - the previous input is replayed, as if just - entered. - - <<ccoonnttrrooll--DD>> - If the previous character on the line was an - autoindent character, erase it. Otherwise, if the - user is entering the first character in the line, - <<ccoonnttrrooll--DD>> is ignored. Otherwise, a literal - <<ccoonnttrrooll--DD>> character is entered. - - ^^<<ccoonnttrrooll--DD>> - If the previous character on the line was an - - - - - - - - - - -UUSSDD::1133--4466 NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) - - - autoindent character, erase all of the autoindent - characters on the line. In addition, the autoin- - dent level is reset to 0. - - 00<<ccoonnttrrooll--DD>> - If the previous character on the line was an - autoindent character, erase all of the autoindent - characters on the line. - - <<ccoonnttrrooll--TT>> - Insert sufficient <<ttaabb>> and <<ssppaaccee>> characters to - move the cursor forward to a column immediately - after the next column which is an even multiple of - the sshhiiffttwwiiddtthh option. - - Historically, vvii did not permit the <<ccoonnttrrooll--TT>> - command to be used unless the cursor was at the - first column of a new line or it was preceded only - by autoindent characters. NNvvii permits it to be - used at any time during insert mode. - - <<eerraassee>> - <<ccoonnttrrooll--HH>> - Erase the last character. - - <<lliitteerraall nneexxtt>> - Quote the next character. The next character will - not be mapped (see the mmaapp command for more infor- - mation) or interpreted specially. A carat ("^^") - character will be displayed immediately as a - placeholder, but will be replaced by the next - character. - - <<eessccaappee>> - Resolve all text input into the file, and return - to command mode. - - <<lliinnee eerraassee>> - Erase the current line. - - <<ccoonnttrrooll--WW>> - <<wwoorrdd eerraassee>> - Erase the last word. The definition of word is - dependent on the aallttwweerraassee and ttttyywweerraassee options. - - <<ccoonnttrrooll--XX>>[[00--99AA--FFaa--ff]]** - Insert a character with the specified hexadecimal - value into the text. - - <<iinntteerrrruupptt>> - Interrupt text input mode, returning to command - mode. If the <<iinntteerrrruupptt>> character is used to - interrupt inserting text into the file, it is as - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((VVii CCoommmmaannddss)) UUSSDD::1133--4477 - - - if the <<eessccaappee>> character was used; all text input - up to the interruption is resolved into the file. - - 1122.. EExx AAddddrreessssiinngg - - Addressing in eexx (and when eexx commands are exe- - cuted from vvii) relates to the current line. In gen- - eral, the current line is the last line affected by a - command. The exact effect on the current line is dis- - cussed under the description of each command. When the - file contains no lines, the current line is zero. - - Addresses are constructed by one or more of the - following methods: - - (1) The address ".." refers to the current line. - - (2) The address "$$" refers to the last line of the - file. - - (3) The address "NN", where NN is a positive number, - refers to the N-th line of the file. - - (4) The address "''<<cchhaarraacctteerr>>" or "``<<cchhaarraacctteerr>>" - refers to the line marked with the name <<cchhaarraacc-- - tteerr>>. (See the kk or mm commands for more infor- - mation on how to mark lines.) - - (5) A regular expression (RE) enclosed by slashes - ("//") is an address, and it refers to the first - line found by searching forward from the line - _a_f_t_e_r the current line toward the end of the - file, and stopping at the first line containing - a string matching the RE. (The trailing slash - can be omitted at the end of the command line.) - - If no RE is specified, i.e. the pattern is "////", - the last RE used in any command is used in the - search. - - If the eexxtteennddeedd option is set, the RE is handled - as an extended RE, not a basic RE. If the wwrraapp-- - ssccaann option is set, the search wraps around to - the beginning of the file and continues up to - and including the current line, so that the - entire file is searched. - - The form "\\//" is accepted for historic reasons, - and is identical to "////". - - (6) An RE enclosed in question marks ("??") - addresses the first line found by searching - backward from the line _p_r_e_c_e_d_i_n_g the current - - - - - - - - - - -UUSSDD::1133--4488 NNvvii//NNeexx RReeffeerreennccee - - - line, toward the beginning of the file and stop- - ping at the first line containing a string - matching the RE. (The trailing question mark - can be omitted at the end of a command line.) - - If no RE is specified, i.e. the pattern is "????", - the last RE used in any command is used in the - search. - - If the eexxtteennddeedd option is set, the RE is handled - as an extended RE, not a basic RE. If the wwrraapp-- - ssccaann option is set, the search wraps around - from the beginning of the file to the end of the - file and continues up to and including the cur- - rent line, so that the entire file is searched. - - The form "\\??" is accepted for historic reasons, - and is identical to "????". - - (7) An address followed by a plus sign ("++") or a - minus sign ("--") followed by a number is an off- - set address and refers to the address plus (or - minus) the indicated number of lines. If the - address is omitted, the addition or subtraction - is done with respect to the current line. - - (8) An address of "++" or "--" followed by a number is - an offset from the current line. For example, - "--55" is the same as "..--55". - - (9) An address ending with "++" or "--" has 1 added to - or subtracted from the address, respectively. - As a consequence of this rule and of the previ- - ous rule, the address "--" refers to the line - preceding the current line. Moreover, trailing - "++" and "--" characters have a cumulative effect. - For example, "++++--++++" refers to the current line - plus 3. - - (10) A percent sign ("%%") is equivalent to the - address range "11,,$$". - - EExx commands require zero, one, or two addresses. - It is an error to specify an address to a command which - requires zero addresses. - - If the user provides more than the expected number - of addresses to any eexx command, the first addresses - specified are discarded. For example, "11,,22,,33,,55"print - prints lines 3 through 5, because the pprriinntt command - only takes two addresses. - - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--4499 - - - The addresses in a range are separated from each - other by a comma (",,") or a semicolon (";;"). In the - latter case, the current line ("..") is set to the - first address, and only then is the second address cal- - culated. This feature can be used to determine the - starting line for forward and backward searches (see - rules (5) and (6) above). The second address of any - two-address sequence corresponds to a line that fol- - lows, in the file, the line corresponding to the first - address. The first address must be less than or equal - to the second address. The first address must be - greater than or equal to the first line of the file, - and the last address must be less than or equal to the - last line of the file. - - 1133.. EExx DDeessccrriippttiioonn - - The following words have special meanings for eexx - commands. - - <<eeooff>> - The end-of-file character is used to scroll the - screen in the eexx editor. This character is nor- - mally <<ccoonnttrrooll--DD>>, however, whatever character is - set for the current terminal is used. - - lliinnee - A single-line address, given in any of the forms - described in the section entitled "EExx AAddddrreessssiinngg". - The default for lliinnee is the current line. - - rraannggee - A line, or a pair of line addresses, separated by - a comma or semicolon. (See the section entitled - "EExx AAddddrreessssiinngg" for more information.) The - default for range is the current line _o_n_l_y, i.e. - "..,,..". A percent sign ("%%") stands for the range - "11,,$$". The starting address must be less than, or - equal to, the ending address. - - ccoouunntt - A positive integer, specifying the number of lines - to be affected by the command; the default is 1. - Generally, a count past the end-of-file may be - specified, e.g. the command "pp 33000000" in a 10 line - file is acceptable, and will print from the cur- - rent line through the last line in the file. - - ffllaaggss - One or more of the characters "#", "p", and "l". - When a command that accepts these flags completes, - the addressed line(s) are written out as if by the - corresponding ##, ll or pp commands. In addition, - - - - - - - - - - -UUSSDD::1133--5500 NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) - - - any number of "++" or "--" characters can be speci- - fied before, after, or during the flags, in which - case the line written is not necessarily the one - affected by the command, but rather the line - addressed by the offset address specified. The - default for ffllaaggss is none. - - ffiillee - A pattern used to derive a pathname; the default - is the current file. File names are subjected to - normal _s_h(1) word expansions. - - Anywhere a file name is specified, it is also pos- - sible to use the special string "//ttmmpp". This will be - replaced with a temporary file name which can be used - for temporary work, e.g. "::ee //ttmmpp" creates and edits a - new file. - - If both a count and a range are specified for com- - mands that use either, the starting line for the com- - mand is the _l_a_s_t line addressed by the range, and - ccoouunntt- subsequent lines are affected by the command, - e.g. the command "22,,33pp44" prints out lines 3, 4, 5 and - 6. - - When only a line or range is specified, with no - command, the implied command is either a lliisstt, nnuummbbeerr - or pprriinntt command. The command used is the most recent - of the three commands to have been used (including any - use as a flag). If none of these commands have been - used before, the pprriinntt command is the implied command. - When no range or count is specified and the command - line is a blank line, the current line is incremented - by 1 and then the current line is displayed. - - Zero or more whitespace characters may precede or - follow the addresses, count, flags, or command name. - Any object following a command name (such as buffer, - file, etc.), that begins with an alphabetic character, - should be separated from the command name by at least - one whitespace character. - - Any character, including <<ccaarrrriiaaggee--rreettuurrnn>>, "%%" - and "##" retain their literal value when preceded by a - backslash. - - 1144.. EExx CCoommmmaannddss - - The following section describes the commands - available in the eexx editor. In each entry below, the - tag line is a usage synopsis for the command. - - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) UUSSDD::1133--5511 - - - Each command can be entered as the abbreviation - (those characters in the synopsis command word preced- - ing the "[" character), the full command (all charac- - ters shown for the command word, omitting the "[" and - "]" characters), or any leading subset of the full com- - mand down to the abbreviation. For example, the args - command (shown as "aarr[[ggss]]" in the synopsis) can be - entered as "aarr", "aarrgg" or "aarrggss". - - Each eexx command described below notes the new cur- - rent line after it is executed, as well as any options - that affect the command. - - "" - A comment. Command lines beginning with the dou- - ble-quote character ("""") are ignored. This per- - mits comments in editor scripts and startup files. - - <<eenndd--ooff--ffiillee>> - Scroll the screen. Write the next N lines, where - N is the value of the ssccrroollll option. The command - is the end-of-file terminal character, which may - be different on different terminals. Tradition- - ally, it is the <<ccoonnttrrooll--DD>> key. - - Historically, the eeooff command ignored any preced- - ing count, and the <<eenndd--ooff--ffiillee>> character was - ignored unless it was entered as the first charac- - ter of the command. This implementation treats it - as a command _o_n_l_y if entered as the first charac- - ter of the command line, and otherwise treats it - as any other character. - - Line: Set to the last line written. - Options: None. - - !! aarrgguummeenntt((ss)) - [[rraannggee]]!! aarrgguummeenntt((ss)) - Execute a shell command, or filter lines through a - shell command. In the first synopsis, the remain- - der of the line after the "!!" character is passed - to the program named by the sshheellll option, as a - single argument. - - Within the rest of the line, "%%" and "##" are - expanded into the current and alternate pathnames, - respectively. The character "!!" is expanded with - the command text of the previous !! command. - (Therefore, the command !!!! repeats the previous !! - command.) The special meanings of "%%", "##", and - "!!" can be overridden by escaping them with a - backslash. If no !! or ::!! command has yet been - executed, it is an error to use an unescaped "!!" - - - - - - - - - - -UUSSDD::1133--5522 NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) - - - character. The !! command does _n_o_t do shell - expansion on the strings provided as arguments. - If any of the above expansions change the command - the user entered, the command is redisplayed at - the bottom of the screen. - - EExx then executes the program named by the sshheellll - option, with a --cc flag followed by the arguments - (which are bundled into a single argument). - - The !! command is permitted in an empty file. - - If the file has been modified since it was last - completely written, the command will warn you. - - A single "!!" character is displayed when the com- - mand completes. - - In the second form of the !! command, the remain- - der of the line after the "!!" is passed to the - program named by the sshheellll option, as described - above. The specified lines are passed to the pro- - gram as standard input, and the standard and stan- - dard error output of the program replace the orig- - inal lines. - - Line: Unchanged if no range was specified, oth- - erwise set to the first line of the - range. - Options: Affected by the aauuttoowwrriittee and wwrriitteeaannyy - options. - - [[rraannggee]] nnuu[[mmbbeerr]] [[ccoouunntt]] [[ffllaaggss]] - [[rraannggee]] ## [[ccoouunntt]] [[ffllaaggss]] - Display the selected lines, each preceded with its - line number. - - The line number format is "%6d", followed by two - spaces. - - Line: Set to the last line displayed. - Options: None. - - @@ bbuuffffeerr - ** bbuuffffeerr - Execute a buffer. Each line in the named buffer - is executed as an eexx command. If no buffer is - specified, or if the specified buffer is "@@" or - "**", the last buffer executed is used. - - [[rraannggee]] <<[[<< ......]] [[ccoouunntt]] [[ffllaaggss]] - Shift lines left or right. The specified lines - are shifted to the left (for the << command) or - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) UUSSDD::1133--5533 - - - right (for the >> command), by the number of - columns specified by the sshhiiffttwwiiddtthh option. Only - leading whitespace characters are deleted when - shifting left; once the first column of the line - contains a nonblank character, the sshhiifftt command - will succeed, but the line will not be modified. - - If the command character << or >> is repeated more - than once, the command is repeated once for each - additional command character. - - Line: If the current line is set to one of the - lines that are affected by the command, - it is unchanged. Otherwise, it is set to - the first nonblank character of the low- - est numbered line shifted. - Options: Affected by the sshhiiffttwwiiddtthh option. - - [[lliinnee]] == [[ffllaaggss]] - Display the line number. Display the line number - of lliinnee (which defaults to the last line in the - file). - - Line: Unchanged. - Options: None. - - [[rraannggee]] >>[[>> ......]] [[ccoouunntt]] [[ffllaaggss]] - Shift right. The specified lines are shifted to - the right by the number of columns specified by - the sshhiiffttwwiiddtthh option, by inserting tab and space - characters. Empty lines are not changed. - - If the command character ">>" is repeated more than - once, the command is repeated once for each addi- - tional command character. - - Line: Set to the last line modified by the com- - mand. - Options: None. - - aabb[[bbrreevv]] llhhss rrhhss - Add an abbreviation to the current abbreviation - list. In vvii, if llhhss is entered such that it is - preceded and followed by characters that cannot be - part of a word, it is replaced by the string rrhhss. - - Line: Unchanged. - Options: None. - - [[lliinnee]] aa[[ppppeenndd]][[!!]] - The input text is appended to the specified line. - If line 0 is specified, the text is inserted at - the beginning of the file. Set to the last line - - - - - - - - - - -UUSSDD::1133--5544 NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) - - - input. If no lines are input, then set to lliinnee, - or to the first line of the file if a lliinnee of 0 - was specified. Following the command name with a - "!!" character causes the aauuttooiinnddeenntt option to be - toggled for the duration of the command. - - Line: Unchanged. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, - bbeeaauuttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraapp-- - mmaarrggiinn options. - - aarr[[ggss]] - Display the argument list. The current argument - is displayed inside of "[[" and "]]" characters. - The argument list is the list of operands speci- - fied on startup, which can be replaced using the - nneexxtt command. - - Line: Unchanged. - Options: None. - - bbgg - VVii mode only. Background the current screen. - - Line: Set to the current line when the screen - was last edited. - Options: None. - - [[rraannggee]] cc[[hhaannggee]][[!!]] [[ccoouunntt]] - Replace the lines with input text. Following the - command name with a "!!" character causes the - aauuttooiinnddeenntt option to be toggled for the duration - of the command. - - Line: Set to the last line input, or, if no - lines were input, set to the line before - the target line, or to the first line of - the file if there are no lines preceding - the target line. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, - bbeeaauuttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraapp-- - mmaarrggiinn options. - - cchhdd[[iirr]][[!!]] [[ddiirreeccttoorryy]] - ccdd[[!!]] [[ddiirreeccttoorryy]] - Change the current working directory. The ddiirreecc-- - ttoorryy argument is subjected to _s_h(1) word expan- - sions. When invoked with no directory argument - and the HHOOMMEE environment variable is set, the - directory named by the HHOOMMEE environment variable - becomes the new current directory. Otherwise, the - new current directory becomes the directory - returned by the _g_e_t_p_w_e_n_t(3) routine. - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) UUSSDD::1133--5555 - - - The cchhddiirr command will fail if the file has been - modified since the last complete write of the - file. You can override this check by appending a - "!!" character to the command. - - Line: Unchanged. - Options: Affected by the ccddppaatthh option. - - [[rraannggee]] ccoo[[ppyy]] lliinnee [[ffllaaggss]] - [[rraannggee]] tt lliinnee [[ffllaaggss]] - Copy the specified lines (range) after the desti- - nation line. Line 0 may be specified to insert - the lines at the beginning of the file. - - Line: Unchanged. - Options: None. - - [[rraannggee]] dd[[eelleettee]] [[bbuuffffeerr]] [[ccoouunntt]] [[ffllaaggss]] - Delete the lines from the file. The deleted text - is saved in the specified buffer, or, if no buffer - is specified, in the unnamed buffer. If the com- - mand name is followed by a letter that could be - interpreted as either a buffer name or a flag - value (because neither a ccoouunntt or ffllaaggss values - were given), eexx treats the letter as a ffllaaggss value - if the letter immediately follows the command - name, without any whitespace separation. If the - letter is preceded by whitespace characters, it - treats it as a buffer name. - - Line: Set to the line following the deleted - lines, or to the last line if the deleted - lines were at the end. - Options: None. - - ddii[[ssppllaayy]] bb[[uuffffeerrss]] || ss[[ccrreeeennss]] || tt[[aaggss]] - Display buffers, screens or tags. The ddiissppllaayy - command takes one of three additional arguments, - which are as follows: - - b[uffers] - Display all buffers (including named, - unnamed, and numeric) that contain text. - s[creens] - Display the file names of all background - screens. - t[ags] Display the tags stack. - - Line: Unchanged. - Options: None. - - ee[[ddiitt]][[!!]] [[++ccmmdd]] [[ffiillee]] - - - - - - - - - - - -UUSSDD::1133--5566 NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) - - - eexx[[!!]] [[++ccmmdd]] [[ffiillee]] - Edit a different file. If the current buffer has - been modified since the last complete write, the - command will fail. You can override this by - appending a "!!" character to the command name. - - If the "++ccmmdd" option is specified, that eexx command - will be executed in the new file. Any eexx command - may be used, although the most common use of this - feature is to specify a line number or search pat- - tern to set the initial location in the new file. - - Line: If you have previously edited the file, - the current line will be set to your last - position in the file. If that position - does not exist, or you have not previ- - ously edited the file, the current line - will be set to the first line of the file - if you are in vvii mode, and the last line - of the file if you are in eexx. - Options: Affected by the aauuttoowwrriittee and wwrriitteeaannyy - options. - - eexxuu[[ssaaggee]] [[ccoommmmaanndd]] - Display usage for an eexx command. If ccoommmmaanndd is - specified, a usage statement for that command is - displayed. Otherwise, usage statements for all eexx - commands are displayed. - - Line: Unchanged. - Options: None. - - ff[[iillee]] [[ffiillee]] - Display and optionally change the file name. If a - file name is specified, the current pathname is - changed to the specified name. The current path- - name, the number of lines, and the current posi- - tion in the file are displayed. - - Line: Unchanged. - Options: None. - - ffgg [[nnaammee]] - VVii mode only. Foreground the specified screen. - Swap the current screen with the specified back- - grounded screen. If no screen is specified, the - first background screen is foregrounded. - - Line: Set to the current line when the screen - was last edited. - Options: None. - - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) UUSSDD::1133--5577 - - - [[rraannggee]] gg[[lloobbaall]] //ppaatttteerrnn// [[ccoommmmaannddss]] - [[rraannggee]] vv //ppaatttteerrnn// [[ccoommmmaannddss]] - Apply commands to lines matching (or not matching) - a pattern. The lines within the given range that - match ("gg[[lloobbaall]]"), or do not match ("vv") the - given pattern are selected. Then, the specified - eexx command(s) are executed with the current line - ("..") set to each selected line. If no range is - specified, the entire file is searched for match- - ing, or not matching, lines. - - Multiple commands can be specified, one per line, - by escaping each <<nneewwlliinnee>> character with a back- - slash, or by separating commands with a "||" char- - acter. If no commands are specified, the command - defaults to the pprriinntt command. - - For the aappppeenndd, cchhaannggee and iinnsseerrtt commands, the - input text must be part of the global command - line. In this case, the terminating period can be - omitted if it ends the commands. - - The vviissuuaall command may also be specified as one of - the eexx commands. In this mode, input is taken - from the terminal. Entering a QQ command in vvii - mode causes the next line matching the pattern to - be selected and vvii to be reentered, until the list - is exhausted. - - The gglloobbaall, vv and uunnddoo commands cannot be used as - part of these commands. - - The editor options aauuttoopprriinntt, aauuttooiinnddeenntt, and - rreeppoorrtt are turned off for the duration of the - gglloobbaall and vv commands. - - Line: The last line modified. - Options: None. - - hhee[[llpp]] - Display a help message. - - Line: Unchanged. - Options: None. - - [[lliinnee]] ii[[nnsseerrtt]][[!!]] - The input text is inserted before the specified - line. Following the command name with a "!!" - character causes the aauuttooiinnddeenntt option setting to - be toggled for the duration of this command. - - Line: Set to the last line input; if no lines - were input, set to the line before the - - - - - - - - - - -UUSSDD::1133--5588 NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) - - - target line, or to the first line of the - file if there are no lines preceding the - target line. - Options: Affected by the aallttwweerraassee, aauuttooiinnddeenntt, - bbeeaauuttiiffyy, sshhoowwmmaattcchh, ttttyywweerraassee and wwrraapp-- - mmaarrggiinn options. - - [[rraannggee]] jj[[ooiinn]][[!!]] [[ccoouunntt]] [[ffllaaggss]] - Join lines of text together. - - A ccoouunntt specified to the command specifies that - the last line of the rraannggee plus ccoouunntt subsequent - lines will be joined. (Note, this differs by one - from the general rule where only ccoouunntt- subsequent - lines are affected.) - - If the current line ends with a whitespace charac- - ter, all whitespace is stripped from the next - line. Otherwise, if the next line starts with a - open parenthesis ("(("), do nothing. Otherwise, if - the current line ends with a question mark ("??"), - period ("..") or exclamation point ("!!"), insert - two spaces. Otherwise, insert a single space. - - Appending a "!!" character to the command name - causes a simpler join with no white-space process- - ing. - - Line: Unchanged. - Options: None. - - [[rraannggee]] ll[[iisstt]] [[ccoouunntt]] [[ffllaaggss]] - Display the lines unambiguously. Tabs are dis- - played as "^^II", and the end of the line is marked - with a "$$" character. - - Line: Set to the last line displayed. - Options: None. - - mmaapp[[!!]] [[llhhss rrhhss]] - Define or display maps (for vvii only). - - If "llhhss" and "rrhhss" are not specified, the current - set of command mode maps are displayed. If a "!!" - character is appended to to the command, the text - input mode maps are displayed. - - Otherwise, when the "llhhss" character sequence is - entered in vvii, the action is as if the correspond- - ing "rrhhss" had been entered. If a "!!" character - is appended to the command name, the mapping is - effective during text input mode, otherwise, it is - effective during command mode. This allows "llhhss" - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) UUSSDD::1133--5599 - - - to have two different macro definitions at the - same time: one for command mode and one for input - mode. - - Whitespace characters require escaping with a - <<lliitteerraallnext> character to be entered in the llhhss - string in visual mode. - - Normally, keys in the rrhhss string are remapped (see - the rreemmaapp option), and it is possible to create - infinite loops. However, keys which map to them- - selves are not further remapped, regardless of the - setting of the rreemmaapp option. For example, the - command "::mmaapp nn nnzz.." maps the "nn" key to the nn - and zz commands. - - To exit an infinitely looping map, use the termi- - nal <<iinntteerrrruupptt>> character. - - Line: Unchanged. - Options: None. - - [[lliinnee]] mmaa[[rrkk]] <<cchhaarraacctteerr>> - [[lliinnee]] kk <<cchhaarraacctteerr>> - Mark the line with the mark <<cchhaarraacctteerr>>. The - expressions "''<<cchhaarraacctteerr>>" and "``<<cchhaarraacctteerr>>" can - then be used as an address in any command that - uses one. - - Line: Unchanged. - Options: None. - - [[rraannggee]] mm[[oovvee]] lliinnee - Move the specified lines after the target line. A - target line of 0 places the lines at the beginning - of the file. - - Line: Set to the first of the moved lines. - Options: None. - - mmkk[[eexxrrcc]][[!!]] ffiillee - Write the abbreviations, editor options and maps - to the specified file. Information is written in - a form which can later be read back in using the - eexx ssoouurrccee command. If ffiillee already exists, the - mmkkeexxrrcc command will fail. This check can be over- - ridden by appending a "!!" character to the com- - mand. - - Line: Unchanged. - Options: None. - - - - - - - - - - - - -UUSSDD::1133--6600 NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) - - - nn[[eexxtt]][[!!]] [[ffiillee ......]] - Edit the next file from the argument list. The - nneexxtt command will fail if the file has been modi- - fied since the last complete write. This check - can be overridden by appending the "!!" character - to the command name. The argument list can - optionally be replaced by specifying a new one as - arguments to this command. In this case, editing - starts with the first file on the new list. - - Line: Set as described for the eeddiitt command. - Options: Affected by the options aauuttoowwrriittee and - wwrriitteeaannyy. - - [[lliinnee]] oo[[ppeenn]] //ppaatttteerrnn// [[ffllaaggss]] - Enter open mode. Open mode is the same as being - in vvii, but with a one-line window. All the stan- - dard vvii commands are available. If a match is - found for the optional RE argument, the cursor is - set to the start of the matching pattern. - - _T_h_i_s _c_o_m_m_a_n_d _i_s _n_o_t _y_e_t _i_m_p_l_e_m_e_n_t_e_d_. - - Line: Unchanged, unless the optional RE is - specified, in which case it is set to the - line where the matching pattern is found. - Options: Affected by the ooppeenn option. - - pprree[[sseerrvvee]] - Save the file in a form that can later be recov- - ered using the eexx --rr option. When the file is - preserved, an email message is sent to the user. - - Line: Unchanged. - Options: None. - - pprreevv[[iioouuss]][[!!]] - Edit the previous file from the argument list. - The pprreevviioouuss command will fail if the file has - been modified since the last complete write. This - check can be overridden by appending the "!!" - character to the command name. - - Line: Set as described for the eeddiitt command. - Options: Affected by the options aauuttoowwrriittee and - wwrriitteeaannyy. None. - - [[rraannggee]] pp[[rriinntt]] [[ccoouunntt]] [[ffllaaggss]] - Display the specified lines. - - Line: Set to the last line displayed. - Options: None. - - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) UUSSDD::1133--6611 - - - [[lliinnee]] ppuu[[tt]] [[bbuuffffeerr]] - Append buffer contents to the current line. If a - buffer is specified, its contents are appended to - the line, otherwise, the contents of the unnamed - buffer are used. - - Line: Set to the line after the current line. - Options: None. - - qq[[uuiitt]][[!!]] - End the editing session. If the file has been - modified since the last complete write, the qquuiitt - command will fail. This check may be overridden - by appending a "!!" character to the command. - - If there are more files to edit, the qquuiitt command - will fail. Appending a "!!" character to the com- - mand name or entering two qquuiitt commands (i.e. wwqq, - qquuiitt, xxiitt or ZZZZ) in a row) will override this - check and the editor will exit. - - Line: Unchanged. - Options: None. - - [[lliinnee]] rr[[eeaadd]][[!!]] [[ffiillee]] - Read a file. A copy of the specified file is - appended to the line. If lliinnee is 0, the copy is - inserted at the beginning of the file. If no file - is specified, the current file is read; if there - is no current file, then ffiillee becomes the current - file. If there is no current file and no ffiillee is - specified, then the rreeaadd command will fail. - - If ffiillee is preceded by a "!!" character, ffiillee is - treated as if it were a shell command, and passed - to the program named by the SSHHEELLLL environment - variable. The standard and standard error outputs - of that command are read into the file after the - specified line. The special meaning of the "!!" - character can be overridden by escaping it with a - backslash ("\\") character. - - Line: When executed from eexx, the current line - is set to the last line read. When exe- - cuted from vvii, the current line is set to - the first line read. - Options: None. - - rreecc[[oovveerr]] ffiillee - Recover ffiillee if it was previously saved. If no - saved file by that name exists, the rreeccoovveerr com- - mand behaves similarly to the eeddiitt command. - - - - - - - - - - - -UUSSDD::1133--6622 NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) - - - Line: Set as described for the eeddiitt command. - Options: None. - - rreess[[iizzee]] [[++||--]]ssiizzee - VVii mode only. Grow or shrink the current screen. - If ssiizzee is a positive, signed number, the current - screen is grown by that many lines. If ssiizzee is a - negative, signed number, the current screen is - shrunk by that many lines. If ssiizzee is not signed, - the current screen is set to the specified ssiizzee. - Applicable only to split screens. - - Line: Unchanged. - Options: None. - - rreeww[[iinndd]][[!!]] - Rewind the argument list. If the current file has - been modified since the last complete write, the - rreewwiinndd command will fail. This check may be over- - ridden by appending the "!!" character to the com- - mand. - - Otherwise, the current file is set to the first - file in the argument list. - - Line: Set as described for the eeddiitt command. - Options: Affected by the aauuttoowwrriittee and wwrriitteeaannyy - options. - - ssee[[tt]] [[ooppttiioonn[[==[[vvaalluuee]]]] ......]] [[nnooooppttiioonn ......]] [[ooppttiioonn?? - ......]] [[aallll]] - Display or set editor options. When no arguments - are specified, the editor option tteerrmm, and any - editor options whose values have been changed from - the default settings are displayed. If the argu- - ment aallll is specified, the values of all of editor - options are displayed. - - Specifying an option name followed by the charac- - ter "??" causes the current value of that option - to be displayed. The "??" can be separated from - the option name by whitespace characters. The "??" - is necessary only for Boolean valued options. - Boolean options can be given values by the form - "sseett ooppttiioonn" to turn them on, or "sseett nnooooppttiioonn" to - turn them off. String and numeric options can be - assigned by the form "sseett ooppttiioonn==vvaalluuee". Any - whitespace characters in strings can be included - literally by preceding each with a backslash. - More than one option can be set or listed by a - single set command, by specifying multiple argu- - ments, each separated from the next by whitespace - characters. - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) UUSSDD::1133--6633 - - - Line: Unchanged. - Options: None. - - sshh[[eellll]] - Run a shell program. The program named by the - sshheellll option is run with a --ii (for interactive) - flag. Editing is resumed when that program exits. - - Line: Unchanged. - Options: None. - - ssoo[[uurrccee]] ffiillee - Read and execute eexx commands from a file. SSoouurrccee - commands may be nested. - - Line: Unchanged. - Options: None. - - sspp[[lliitt]] [[ffiillee ......]] - VVii mode only. Split the screen. The current - screen is split into two screens, of approximately - equal size. If the cursor is in the lower half of - the screen, the screen will split up, i.e. the new - screen will be above the old one. If the cursor - is in the upper half of the screen, the new screen - will be below the old one. - - If ffiillee is specified, the new screen is editing - that file, otherwise, both screens are editing the - same file, and changes in each will be be - reflected in the other. The argument list for the - new screen consists of the list of files specified - as arguments to this command, or, the current - pathname if no files are specified. - - Line: If ffiillee is specified, set as for the eeddiitt - command, otherwise unchanged. - Options: None. - - [[rraannggee]] ss[[uubbssttiittuuttee]] [[//ppaatttteerrnn//rreeppllaaccee//]] [[ooppttiioonnss]] - [[ccoouunntt]] [[ffllaaggss]] - [[rraannggee]] && [[ooppttiioonnss]] [[ccoouunntt]] [[ffllaaggss]] - [[rraannggee]] ~~ [[ooppttiioonnss]] [[ccoouunntt]] [[ffllaaggss]] - Make substitutions. Replace the first instance of - ppaatttteerrnn with the string rreeppllaaccee on the specified - line(s). If the "//ppaatttteerrnn//rreeppll//" argument is not - specified, the "//ppaatttteerrnn//rreeppll//" from the previous - ssuubbssttiittuuttee command is used. - - If ooppttiioonnss includes the letter "cc" (confirm), you - will be prompted for confirmation before each - replacement is done. An affirmative response (in - English, a "yy" character) causes the replacement - - - - - - - - - - -UUSSDD::1133--6644 NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) - - - to be made. A quit response (in English, a "qq" - character) causes the ssuubbssttiittuuttee command to be - terminated. Any other response causes the - replacement not to be made, and the ssuubbssttiittuuttee - command continues. If ooppttiioonnss includes the letter - "gg" (global), all nonoverlapping instances of ppaatt-- - tteerrnn in the line are replaced. - - The && version of the command is the same as not - specifying a pattern or replacement string to the - ssuubbssttiittuuttee command, and the "&&" is replaced by the - pattern and replacement information from the pre- - vious substitute command. - - The ~~ version of the command is the same as && and - ss, except that the search pattern used is the last - RE used in _a_n_y command, not necessarily the one - used in the last ssuubbssttiittuuttee command. - - For example, in the sequence - - ss//rreedd//bblluuee// - //ggrreeeenn - ~~ - - the "~~" is equivalent to "ss//ggrreeeenn//bblluuee//". - - The ssuubbssttiittuuttee command may be interrupted, using - the terminal interrupt character. All substitu- - tions completed before the interrupt are retained. - - Line: Set to the last line upon which a substi- - tution was made. - Options: None. - - ssuu[[ssppeenndd]][[!!]] - sstt[[oopp]][[!!]] - <<ccoonnttrrooll--ZZ>> - Suspend the edit session. Appending a "!!" char- - acter to these commands turns off the aauuttoowwrriittee - option for the command. - - Line: Unchanged. - Options: Affected by the aauuttoowwrriittee option. - - ttaa[[gg]][[!!]] ttaaggssttrriinngg - Edit the file containing the specified tag. - Search for the tagstring, which can be in a dif- - ferent file. If the tag is in a different file, - then the new file is edited. If the current file - has been modified since the last complete write, - the ttaagg command will fail. This check can be - overridden by appending the "!!" character to the - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) UUSSDD::1133--6655 - - - command name. - - The ttaagg command searches for ttaaggssttrriinngg in the tags - file(s) specified by the option. (See _c_t_a_g_s(1) - for more information on tags files.) - - Line: Set to the line indicated by the tag. - Options: Affected by the aauuttoowwrriittee, ttaagglleennggtthh, - ttaaggss and wwrriitteeaannyy options. - - ttaaggpp[[oopp]][[!!]] [[ffiillee || nnuummbbeerr]] - Pop to the specified tag in the tags stack. If - neither ffiillee or nnuummbbeerr is specified, the ttaaggppoopp - command pops to the most recent entry on the tags - stack. If ffiillee or nnuummbbeerr is specified, the ttaaggppoopp - command pops to the most recent entry in the tags - stack for that file, or numbered entry in the tags - stack, respectively. (See the ddiissppllaayy command for - information on displaying the tags stack.) - - If the file has been modified since the last com- - plete write, the ttaaggppoopp command will fail. This - check may be overridden by appending a "!!" char- - acter to the command name. - - Line: Set to the line indicated by the tag. - Options: Affected by the aauuttoowwrriittee, and wwrriitteeaannyy - options. - - ttaaggtt[[oopp]][[!!]] - Pop to the least recent tag on the tags stack, - clearing the tags stack. - - If the file has been modified since the last com- - plete write, the ttaaggppoopp command will fail. This - check may be overridden by appending a "!!" char- - acter to the command name. - - Line: Set to the line indicated by the tag. - Options: Affected by the aauuttoowwrriittee, and wwrriitteeaannyy - options. - - uunnaa[[bbbbrreevv]] llhhss - Delete an abbreviation. Delete llhhss from the cur- - rent list of abbreviations. - - Line: Unchanged. - Options: None. - - uu[[nnddoo]] - Undo the last change made to the file. Changes - made by gglloobbaall, vv, vviissuuaall and map sequences are - considered a single command. If repeated, the uu - - - - - - - - - - -UUSSDD::1133--6666 NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) - - - command alternates between these two states, and - is its own inverse. - - Line: Set to the last line modified by the com- - mand. - Options: None. - - uunnmm[[aapp]][[!!]] llhhss - Unmap a mapped string. Delete the command mode - map definition for llhhss. If a "!!" character is - appended to the command name, delete the text - input mode map definition instead. - - Line: Unchanged. - Options: None. - - vvee[[rrssiioonn]] - Display the version of the eexx//vvii editor. - - [[lliinnee]] vvii[[ssuuaall]] [[ttyyppee]] [[ccoouunntt]] [[ffllaaggss]] - EExx mode only. Enter vvii. The ttyyppee is optional, - and can be "--", "++" or "^^", as in the eexx zz com- - mand, to specify the the position of the specified - line in the screen window. (The default is to - place the line at the top of the screen window.) - A ccoouunntt specifies the number of lines that will - initially be displayed. (The default is the value - of the wwiinnddooww editor option.) - - Line: Unchanged unless lliinnee is specified, in - which case it is set to that line. - Options: None. - - vvii[[ssuuaall]][[!!]] [[++ccmmdd]] [[ffiillee]] - VVii mode only. Edit a new file. Identical to the - "eeddiitt[[!!]] [[++ccmmdd]] [[ffiillee]]" command. - - vviiuu[[ssaaggee]] [[ccoommmmaanndd]] - Display usage for a vvii command. If ccoommmmaanndd is - specified, a usage statement for that command is - displayed. Otherwise, usage statements for all vvii - commands are displayed. - - Line: Unchanged. - Options: None. - - [[rraannggee]] ww[[rriittee]][[!!]] [[>>>>]] [[ffiillee]] - [[rraannggee]] ww[[rriittee]] [[!!]] [[ffiillee]] - [[rraannggee]] wwnn[[!!]] [[>>>>]] [[ffiillee]] - [[rraannggee]] wwqq[[!!]] [[>>>>]] [[ffiillee]] - Write the file. The specified lines (the entire - file, if no range is given) is written to ffiillee. - If ffiillee is not specified, the current pathname is - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) UUSSDD::1133--6677 - - - used. If ffiillee is specified, and it exists, or if - the current pathname was set using the ffiillee com- - mand, and the file already exists, these commands - will fail. Appending a "!!" character to the com- - mand name will override this check and the write - will be attempted, regardless. - - Specifying the optional ">>>>" string will cause the - write to be appended to the file, in which case no - tests are made for the file already existing. - - If the file is preceded by a "!!" character, the - program named in the SHELL environment variable is - invoked with file as its second argument, and the - specified lines are passed as standard input to - that command. The "!!" in this usage must be sep- - arated from command name by at least one whites- - pace character. The special meaning of the "!!" - may be overridden by escaping it with a backslash - ("\\") character. - - The wwqq version of the write command will exit the - editor after writing the file, if there are no - further files to edit. Appending a "!!" character - to the command name or entering two "quit" com- - mands (i.e. wwqq, qquuiitt, xxiitt or ZZZZ) in a row) will - override this check and the editor will exit, - ignoring any files that have not yet been edited. - - The wwnn version of the write command will move to - the next file after writing the file, unless the - write fails. - - Line: Unchanged. - Options: Affected by the rreeaaddoonnllyy and wwrriitteeaannyy - options. - - [[rraannggee]] xx[[iitt]][[!!]] [[ffiillee]] - Write the file if it has been modified. The spec- - ified lines are written to ffiillee, if the file has - been modified since the last complete write to any - file. If no rraannggee is specified, the entire file - is written. - - The xxiitt command will exit the editor after writing - the file, if there are no further files to edit. - Appending a "!!" character to the command name or - entering two "quit" commands (i.e. wwqq, qquuiitt, xxiitt - or ZZZZ) in a row) will override this check and the - editor will exit, ignoring any files that have not - yet been edited. - - - - - - - - - - - - -UUSSDD::1133--6688 NNvvii//NNeexx RReeffeerreennccee ((EExx CCoommmmaannddss)) - - - Line: Unchanged. - Options: Affected by the rreeaaddoonnllyy and wwrriitteeaannyy - options. - - [[rraannggee]] yyaa[[nnkk]] [[bbuuffffeerr]] [[ccoouunntt]] - Copy the specified lines to a buffer. If no - buffer is specified, the unnamed buffer is used. - - Line: Unchanged. - Options: None. - - [[lliinnee]] zz [[ttyyppee]] [[ccoouunntt]] [[ffllaaggss]] - Adjust the window. If no ttyyppee is specified, then - ccoouunntt lines following the specified line are dis- - played. The default ccoouunntt is the value of the - wwiinnddooww option. The ttyyppee argument changes the - position at which lliinnee is displayed on the screen - by changing the number of lines displayed before - and after lliinnee. The following ttyyppee characters may - be used: - - - Place the line at the bottom of the - screen. - + Place the line at the top of the screen. - . Place the line in the middle of the - screen. - ^ Write out count lines starting ccoouunntt ** 22 - lines before lliinnee; the net effect of this - is that a "zz^^" command following a zz com- - mand writes the previous page. - = Center lliinnee on the screen with a line of - hyphens displayed immediately before and - after it. The number of preceding and - following lines of text displayed are - reduced to account for those lines. - - Line: Set to the last line displayed, with the - exception of the ttyyppee, where the current - line is set to the line specified by the - command. - Options: Affected by the option. - - 1155.. SSeett OOppttiioonnss - - There are a large number of options that may be - set (or unset) to change the editor's behavior. This - section describes the options, their abbreviations and - their default values. - - In each entry below, the first part of the tag - line is the full name of the option, followed by any - equivalent abbreviations. (Regardless of the abbrevia- - tions, it is only necessary to use the minimum number - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--6699 - - - of characters necessary to distinguish an abbreviation - from all other commands for it to be accepted, in - nneexx/nnvvii. Historically, only the full name and the - official abbreviations were accepted by eexx/vvii. Using - full names in your startup files and environmental - variables will probably make them more portable.) The - part in square brackets is the default value of the - option. Most of the options are boolean, i.e. they are - either on or off, and do not have an associated value. - - Options apply to both eexx and vvii modes, unless oth- - erwise specified. - - For information on modifying the options or to - display the options and their current values, see the - "set" command in the section entitled "EExx CCoommmmaannddss". - - aallttwweerraassee [[ooffff]] - VVii only. Change how vvii does word erase during - text input. When this option is set, text is bro- - ken up into three classes: alphabetic, numeric and - underscore characters, other nonblank characters, - and blank characters. Changing from one class to - another marks the end of a word. In addition, the - class of the first character erased is ignored - (which is exactly what you want when erasing path- - name components). - - aauuttooiinnddeenntt,, aaii [[ooffff]] - If this option is set, whenever you create a new - line (using the vvii AA, aa, CC, cc, II, ii, OO, oo, RR, rr, - SS, and ss commands, or the eexx aappppeenndd, cchhaannggee, and - iinnsseerrtt commands) the new line is automatically - indented to align the cursor with the first non- - blank character of the line from which you created - it. Lines are indented using tab characters to - the extent possible (based on the value of the - ttaabbssttoopp option) and then using space characters as - necessary. For commands inserting text into the - middle of a line, any blank characters to the - right of the cursor are discarded, and the first - nonblank character to the right of the cursor is - aligned as described above. - - The indent characters are themselves somewhat spe- - cial. If you do not enter more characters on the - new line before moving to another line, or enter- - ing <<eessccaappee>>, the indent character will be deleted - and the line will be empty. For example, if you - enter <<ccaarrrriiaaggee--rreettuurrnn>> twice in succession, the - line created by the first <<ccaarrrriiaaggee--rreettuurrnn>> will - not have any characters in it, regardless of the - indentation of the previous or subsequent line. - - - - - - - - - - -UUSSDD::1133--7700 NNvvii//NNeexx RReeffeerreennccee - - - Indent characters also require that you enter - additional erase characters to delete them. For - example, if you have an indented line, containing - only blanks, the first <<wwoorrdd--eerraassee>> character you - enter will erase up to end of the indent charac- - ters, and the second will erase back to the begin- - ning of the line. (Historically, only the <<ccoonn-- - ttrrooll--DD>> key would erase the indent characters. - Both the <<ccoonnttrrooll--DD>> key and the usual erase keys - work in nnvvii.) In addition, if the cursor is posi- - tioned at the end of the indent characters, the - keys "00<<ccoonnttrrooll--DD>>" will erase all of the indent - characters for the current line, resetting the - indentation level to 0. Similarly, the keys - "^^<<ccoonnttrrooll--DD>>" will erase all of the indent char- - acters for the current line, leaving the indenta- - tion level for future created lines unaffected. - - Finally, if the aauuttooiinnddeenntt option is set, the SS - and cccc commands change from the first nonblank of - the line to the end of the line, instead of from - the beginning of the line to the end of the line. - - aauuttoopprriinntt,, aapp [[ooffff]] - EExx only. Cause the current line to be automati- - cally displayed after the eexx commands <<, >>, ccooppyy, - ddeelleettee, jjooiinn, mmoovvee, ppuutt, tt, UUnnddoo, and uunnddoo. This - automatic display is suppressed during gglloobbaall and - vvgglloobbaall commands, and for any command where - optional flags are used to explicitly display the - line. - - aauuttoowwrriittee,, aaww [[ooffff]] - If this option is set, the vvii !!, ^^^^, ^^]] and <<ccoonn-- - ttrrooll--ZZ>> commands, and the eexx eeddiitt, nneexxtt, rreewwiinndd, - ssttoopp, ssuussppeenndd, ttaagg, ttaaggppoopp, and ttaaggttoopp commands - automatically write the current file back to the - current file name if it has been modified since it - was last written. If the write fails, the command - fails and goes no further. - - Appending the optional force flag character "!!" - to the eexx commands nneexxtt, rreewwiinndd, ssttoopp, ssuussppeenndd, - ttaagg, ttaaggppoopp, and ttaaggttoopp stops the automatic write - from being attempted. - - (Historically, the nneexxtt command ignored the - optional force flag.) Note, the eexx commands eeddiitt, - qquuiitt, sshheellll, and xxiitt are _n_o_t affected by the - aauuttoowwrriittee option. - - bbeeaauuttiiffyy,, bbff [[ooffff]] - If this option is set, all control characters that - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--7711 - - - are not currently being specially interpreted, - other than <<ttaabb>>, <<nneewwlliinnee>>, and <<ffoorrmm--ffeeeedd>>, are - discarded from commands read in by eexx from command - files, and from input text entered to vvii (either - into the file or to the colon command line). Text - files read by eexx/vvii are _n_o_t affected by the bbeeaauu-- - ttiiffyy option. - - ccddppaatthh [[eennvviirroonnmmeenntt vvaarriiaabbllee CCDDPPAATTHH,, oorr ccuurrrreenntt ddiirreecc-- - ttoorryy]] - This option is used to specify a colon separated - list of directories which are used as path pre- - fixes for any relative path names used as argu- - ments for the ccdd command. The value of this - option defaults to the value of the environmental - variable CCDDPPAATTHH if it is set, otherwise to the - current directory. For compatibility with the - POSIX 1003.2 shell, the ccdd command does _n_o_t check - the current directory as a path prefix for rela- - tive path names unless it is explicitly specified. - It may be so specified by entering an empty string - or a ".." character into the CCDDPPAATTHH variable or - the option value. - - ccoolluummnnss,, ccoo [[8800]] - The number of columns in the screen. Setting this - option causes eexx/vvii to set (or reset) the environ- - mental variable CCOOLLUUMMNNSS. See the section entitled - "SSiizziinngg tthhee SSccrreeeenn" more information. - - ccoommmmeenntt [[ooffff]] - VVii only. If the first non-empty line of the file - begins with the string "//**", this option causes vvii - to skip to the end of that C-language comment - (probably a terribly boring legal notice) before - displaying the file. - - ddiirreeccttoorryy,, ddiirr [[eennvviirroonnmmeenntt vvaarriiaabbllee TTMMPPDDIIRR,, oorr //ttmmpp]] - The directory where temporary files are created. - The environmental variable TTMMPPDDIIRR is used as the - default value if it exists, otherwise //ttmmpp is - used. - - eeddccoommppaattiibbllee,, eedd [[ooffff]] - Remember the values of the "c" and "g" suffices to - the ssuubbssttiittuuttee commands, instead of initializing - them as unset for each new command. Specifying - pattern and replacement strings to the ssuubbssttiittuuttee - command unsets the "c" and "g" suffices as well. - - eerrrroorrbbeellllss,, eebb [[ooffff]] - EExx only. EExx error messages are normally presented - in inverse video. If that is not possible for the - - - - - - - - - - -UUSSDD::1133--7722 NNvvii//NNeexx RReeffeerreennccee - - - terminal, setting this option causes error mes- - sages to be announced by ringing the terminal - bell. - - eexxrrcc,, eexx [[ooffff]] - If this option is turned off in the system or - $HOME startup files, the local startup files are - never read (unless they are the same as the system - or $HOME startup files). Turning it on has no - effect, i.e. the normal checks for local startup - files are performed, regardless. See the section - entitled "SSttaarrttuupp IInnffoorrmmaattiioonn" for more informa- - tion. - - eexxtteennddeedd [[ooffff]] - This option causes all regular expressions to be - treated as POSIX 1003.2 Extended Regular Expres- - sions (which are similar to historic _e_g_r_e_p(1) - style expressions). - - ffllaasshh [[oonn]] - This option causes the screen to flash instead of - beeping the keyboard, on error, if the terminal - has the capability. - - hhaarrddttaabbss,, hhtt [[88]] - This option defines the spacing between hardware - tab settings, i.e. the tab expansion done by the - operating system and/or the terminal itself. As - nneexx/nnvvii never writes <<ttaabb>> characters to the ter- - minal, unlike historic versions of eexx/vvii, this - option does not currently have any affect. - - iiggnnoorreeccaassee,, iicc [[ooffff]] - This option causes regular expressions, both in eexx - commands and in searches, to be evaluated in a - case-insensitive manner. - - kkeeyyttiimmee [[66]] - The 10th's of a second eexx/vvii waits for a subse- - quent key to complete a key mapping. - - lleeffttrriigghhtt [[ooffff]] - VVii only. This option causes the screen to be - scrolled left-right to view lines longer than the - screen, instead of the traditional vvii screen - interface which folds long lines at the right-hand - margin of the terminal. - - lliinneess,, llii [[2244]] - VVii only. The number of lines in the screen. Set- - ting this option causes eexx/vvii to set (or reset) - the environmental variable LLIINNEESS. See the section - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--7733 - - - entitled "SSiizziinngg tthhee SSccrreeeenn" for more information. - - lliisspp [[ooffff]] - VVii only. This option changes the behavior of the - vvii ((, )), {{, }}, [[[[ and ]]]] commands to match the - Lisp language. Also, the aauuttooiinnddeenntt option's - behavior is changed to be appropriate for Lisp. - - _T_h_i_s _o_p_t_i_o_n _i_s _n_o_t _y_e_t _i_m_p_l_e_m_e_n_t_e_d_. - - lliisstt [[ooffff]] - This option causes lines to be displayed in an - unambiguous fashion. Specifically, tabs are dis- - played as control characters, i.e. "^^II", and the - ends of lines are marked with a "$$" character. - - mmaaggiicc [[oonn]] - This option is on by default. Turning the mmaaggiicc - option off causes all regular expression charac- - ters except for "^^" and "$$", to be treated as - ordinary characters. To re-enable characters - individually, when the mmaaggiicc option is off, pre- - cede them with a backslash "\\" character. See the - section entitled "RReegguullaarr EExxpprreessssiioonnss aanndd RReeppllaaccee-- - mmeenntt SSttrriinnggss" for more information. - - mmaattcchhttiimmee [[77]] - VVii only. The 10th's of a second eexx/vvii pauses on - the matching character when the sshhoowwmmaattcchh option - is set. - - mmeessgg [[oonn]] - This option allows other users to contact you - using the _t_a_l_k(1) and _w_r_i_t_e(1) utilities, while - you are editing. EExx/vvii does not turn message on, - i.e. if messages were turned off when the editor - was invoked, they will stay turned off. This - option only permits you to disallow messages for - the edit session. See the _m_e_s_g(1) utility for - more information. - - mmooddeelliinneess,, mmooddeelliinnee [[ooffff]] - If the mmooddeelliinneess option is set, eexx/vvii has histori- - cally scanned the first and last five lines of - each file as it is read for editing, looking for - any eexx commands that have been placed in those - lines. After the startup information has been - processed, and before the user starts editing the - file, any commands embedded in the file are exe- - cuted. - - Commands were recognized by the letters "e" or "v" - followed by "x" or "i", at the beginning of a line - - - - - - - - - - -UUSSDD::1133--7744 NNvvii//NNeexx RReeffeerreennccee - - - or following a tab or space character, and fol- - lowed by a ":", an eexx command, and another ":". - - This option is a security problem of immense pro- - portions, and should not be used under any circum- - stances. - - _T_h_i_s _o_p_t_i_o_n _w_i_l_l _n_e_v_e_r _b_e _i_m_p_l_e_m_e_n_t_e_d_. - - nnuummbbeerr,, nnuu [[ooffff]] - Precede each line displayed with its current line - number. - - ooccttaall [[ooffff]] - Display unknown characters as octal numbers, - instead of the default hexadecimal. - - ooppeenn [[oonn]] - EExx only. If this option is not set, the ooppeenn and - vviissuuaall commands are disallowed. - - ooppttiimmiizzee,, oopptt [[oonn]] - VVii only. Throughput of text is expedited by set- - ting the terminal not to do automatic carriage - returns when printing more than one (logical) line - of output, greatly speeding output on terminals - without addressable cursors when text with leading - white space is printed. - - _T_h_i_s _o_p_t_i_o_n _i_s _n_o_t _y_e_t _i_m_p_l_e_m_e_n_t_e_d_. - - ppaarraaggrraapphhss,, ppaarraa [[IIPPLLPPPPPPQQPPPP LLIIppppllppiippbbpp]] - VVii only. Define additional paragraph boundaries - for the {{ and }} commands. The value of this - option must be a character string consisting of - zero or more character pairs. - - In the text to be edited, the character string - <<nneewwlliinnee>>..<<cchhaarr--ppaaiirr>>, (where <<cchhaarr--ppaaiirr>> is one - of the character pairs in the option's value) - defines a paragraph boundary. For example, if the - option were set to LLaaAA<<ssppaaccee>>####, then all of the - following additional paragraph boundaries would be - recognized: - - - <newline>.La - <newline>.A<space> - <newline>.## - - - pprroommpptt [[oonn]] - EExx only. This option causes eexx to prompt for - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--7755 - - - command input with a "::" character; when it is not - set, no prompt is displayed. - - rreeaaddoonnllyy,, rroo [[ooffff]] - This option causes a force flag to be required to - attempt to write the file back to the original - file name. Setting this option is equivalent to - using the --RR command line option, or editing a - file which lacks write permission. - - rreeccddiirr [[//vvaarr//ttmmpp//vvii..rreeccoovveerr]] - The directory where recovery files are stored. - - If you change the value of rreeccddiirr, be careful to - choose a directory whose contents are not regu- - larly deleted. Bad choices include directories in - memory based filesystems, or //ttmmpp, on most sys- - tems, as their contents are removed when the - machine is rebooted. - - Public directories like //uussrr//ttmmpp and //vvaarr//ttmmpp are - usually safe, although some sites periodically - prune old files from them. There is no require- - ment that you use a public directory, e.g. a sub- - directory of your home directory will work fine. - - Finally, if you change the value of rreeccddiirr, you - must modify the recovery script to operate in your - chosen recovery area. - - See the section entitled "RReeccoovveerryy" for further - information. - - rreeddrraaww,, rree [[ooffff]] - VVii only. The editor simulates (using great - amounts of output), an intelligent terminal on a - dumb terminal (e.g. during insertions in vvii the - characters to the right of the cursor are - refreshed as each input character is typed). - - _T_h_i_s _o_p_t_i_o_n _i_s _n_o_t _y_e_t _i_m_p_l_e_m_e_n_t_e_d_. - - rreemmaapp [[oonn]] - If this option is set, it is possible to define - macros in terms of other macros. Otherwise, each - key is only remapped up to one time. For example, - if "AA" is mapped to "BB", and "BB" is mapped to "CC", - The keystroke "AA" will be mapped to "CC" if the - rreemmaapp option is set, and to "BB" if it is not set. - - rreeppoorrtt [[55]] - Set the threshold of the number of lines that need - to be changed or yanked before a message will be - - - - - - - - - - -UUSSDD::1133--7766 NNvvii//NNeexx RReeffeerreennccee - - - displayed to the user. For everything but the - yank command, the value is the largest value about - which the editor is silent, i.e. by default, 6 - lines must be deleted before the user is notified. - However, if the number of lines yanked is greater - than _o_r _e_q_u_a_l _t_o the set value, it is reported to - the user. - - rruulleerr [[ooffff]] - VVii only. Display a row/column ruler on the colon - command line. - - ssccrroollll,, ssccrr [[wwiinnddooww // 22]] - Set the number of lines scrolled by the vvii <<ccoonn-- - ttrrooll--DD>> and <<ccoonnttrrooll--UU>> commands. - - Historically, the eexx zz command, when specified - without a count, used two times the size of the - scroll value; the POSIX 1003.2 standard specified - the window size, which is a better choice. - - sseeccttiioonnss,, sseecctt [[NNHHSSHHHH HHUUnnhhsshh]] - VVii only. Define additional section boundaries for - the [[[[ and ]]]] commands. The sseeccttiioonnss option - should be set to a character string consisting of - zero or more character pairs. In the text to be - edited, the character string <<nneewwlliinnee>>..<<cchhaarr-- - ppaaiirr>>, (where <<cchhaarr--ppaaiirr>> is one of the character - pairs in the option's value), defines a section - boundary in the same manner that ppaarraaggrraapphh option - boundaries are defined. - - sshheellll,, sshh [[eennvviirroonnmmeenntt vvaarriiaabbllee SSHHEELLLL,, oorr //bbiinn//sshh]] - Select the shell used by the editor. The speci- - fied path is the pathname of the shell invoked by - the vvii !! shell escape command and by the eexx sshheellll - command. This program is also used to resolve any - shell meta-characters in eexx commands. - - sshhiiffttwwiiddtthh,, ssww [[88]] - Set the autoindent and shift command indentation - width. This width is used by the aauuttooiinnddeenntt - option and by the <<, >>, and sshhiifftt commands. - - sshhoowwddiirrttyy [[ooffff]] - VVii only. Display an asterisk on the colon command - line if the file has been modified. - - sshhoowwmmaattcchh,, ssmm [[ooffff]] - VVii only. This option causes vvii, when a "}}" or "))" - is entered, to briefly move the cursor the match- - ing "{{" or "((". See the mmaattcchhttiimmee option for more - information. - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--7777 - - - sshhoowwmmooddee [[ooffff]] - VVii only. This option causes vvii to display a - string identifying the current editor mode on the - colon command line. - - ssiiddeessccrroollll [[1166]] - VVii only. Sets the number of columns that are - shifted to the left or right, when vvii is doing - left-right scrolling and the left or right margin - is crossed. See the lleeffttrriigghhtt option for more - information. - - sslloowwooppeenn,, ssllooww [[ooffff]] - This option affects the display algorithm used by - vvii, holding off display updating during input of - new text to improve throughput when the terminal - in use is slow and unintelligent. - - _T_h_i_s _o_p_t_i_o_n _i_s _n_o_t _y_e_t _i_m_p_l_e_m_e_n_t_e_d_. - - ssoouurrcceeaannyy [[ooffff]] - If this option is turned on, vvii historically read - startup files that were owned by someone other - than the editor user. See the section entitled - "SSttaarrttuupp IInnffoorrmmaattiioonn" for more information. This - option is a security problem of immense propor- - tions, and should not be used under any circum- - stances. - - _T_h_i_s _o_p_t_i_o_n _w_i_l_l _n_e_v_e_r _b_e _i_m_p_l_e_m_e_n_t_e_d_. - - ttaabbssttoopp,, ttss [[88]] - This option sets tab widths for the editor dis- - play. - - ttaagglleennggtthh,, ttll [[00]] - This option sets the maximum number of characters - that are considered significant in a tag name. - Setting the value to 0 makes all of the characters - in the tag name significant. - - ttaaggss,, ttaagg [[ttaaggss //vvaarr//ddbb//lliibbcc..ttaaggss //ssyyss//kkeerrnn//ttaaggss]] - Sets the list of tags files, in search order, - which are used when the editor searches for a tag. - - tteerrmm,, ttttyyttyyppee,, ttttyy [[eennvviirroonnmmeenntt vvaarriiaabbllee TTEERRMM]] - Set the terminal type. Setting this option causes - eexx/vvii to set (or reset) the environmental variable - TTEERRMM. - - tteerrssee [[ooffff]] - This option has historically made editor messages - less verbose. It has no effect in this - - - - - - - - - - -UUSSDD::1133--7788 NNvvii//NNeexx RReeffeerreennccee - - - implementation. See the vveerrbboossee option for more - information. - - ttiillddeeoopp - Modify the ~~ command to take an associated motion. - - ttiimmeeoouutt,, ttoo [[oonn]] - If this option is set, eexx/vvii waits for a specific - period for a subsequent key to complete a key map- - ping (see the kkeeyyttiimmee option). If the option is - not set, the editor waits until enough keys are - entered to resolve the ambiguity, regardless of - how long it takes. - - ttttyywweerraassee [[ooffff]] - VVii only. This option changes how vvii does word - erase during text input. If this option is set, - text is broken up into two classes, blank charac- - ters and nonblank characters. Changing from one - class to another marks the end of a word. - - vveerrbboossee [[ooffff]] - VVii only. VVii historically bells the terminal for - many obvious mistakes, e.g. trying to move past - the left-hand margin, or past the end of the file. - If this option is set, an error message is dis- - played for all errors. - - ww330000 [[nnoo ddeeffaauulltt]] - VVii only. Set the window size if the baud rate is - less than 1200 baud. See the wwiinnddooww option for - more information. - - ww11220000 [[nnoo ddeeffaauulltt]] - VVii only. Set the window size if the baud rate is - equal to 1200 baud. See the wwiinnddooww option for - more information. - - ww99660000 [[nnoo ddeeffaauulltt]] - VVii only. Set the window size if the baud rate is - greater than 1200 baud. See the wwiinnddooww option for - more information. - - wwaarrnn [[oonn]] - EExx only. This option causes a warning message to - the terminal if the file has been modified, since - it was last written, before a !! command. - - wwiinnddooww,, ww,, wwii [[eennvviirroonnmmeenntt vvaarriiaabbllee LLIINNEESS]] - This option determines the default number of lines - in a screenful, as written by the zz command. It - also determines the number of lines scrolled by - the vvii commands <<ccoonnttrrooll--FF>> and <<ccoonnttrrooll--BB>>. The - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--7799 - - - value of window can be unrelated to the real - screen size, although it starts out as the number - of lines on the screen (see the section entitled - "SSiizziinngg tthhee SSccrreeeenn" for more information). Set- - ting the value of the wwiinnddooww option is the same as - using the --ww command line option. - - If the value of the wwiinnddooww option (as set by the - wwiinnddooww, ww330000, ww11220000 or ww99660000 options) is smaller - than the actual size of the screen, large screen - movements will result in displaying only that - smaller number of lines on the screen. (Further - movements in that same area will result in the - screen being filled.) This can provide a perfor- - mance improvement when viewing different places in - one or more files over a slow link. - - wwrraappmmaarrggiinn,, wwmm [[00]] - VVii only. If the value of the wwrraappmmaarrggiinn option is - non-zero, vvii will split lines so that they end at - least that number of characters before the right- - hand margin of the screen. (Note, the value of - wwrraappmmaarrggiinn is _n_o_t a text length. In a screen that - is 80 columns wide, the command "::sseett wwrraappmmaarr-- - ggiinn==88" attempts to keep the lines less than or - equal to 72 columns wide.) - - Lines are split at the previous whitespace charac- - ter closest to the number. Any trailing whites- - pace characters before that character are deleted. - If the line is split because of an inserted - <<ssppaaccee>> or <<ttaabb>> character, and you then enter - another <<ssppaaccee>> character, it is discarded. - - If wrapmargin is set to 0, or if there is no blank - character upon which to split the line, the line - is not broken. - - wwrraappssccaann,, wwss [[oonn]] - This option causes searches to wrap around the end - or the beginning of the file, and back to the - starting point. Otherwise, the end or beginning - of the file terminates the search. - - wwrriitteeaannyy,, wwaa [[ooffff]] - If this option is set, file-overwriting checks - that would usually be made before the wwrriittee and - xxiitt commands, or before an automatic write (see - the aauuttoowwrriittee option), are not made. This allows - a write to any file, provided the file permissions - allow it. - - - - - - - - - - - - -UUSSDD::1133--8800 NNvvii//NNeexx RReeffeerreennccee - - - 1166.. AAddddiittiioonnaall FFeeaattuurreess iinn NNeexx//NNvvii - - There are a few features in nneexx/nnvvii that are not - found in historic versions of eexx/vvii. Some of the more - interesting of those features are as follows: - - 88--bbiitt cclleeaann ddaattaa,, llaarrggee lliinneess,, ffiilleess - NNeexx/nnvvii will edit any format file. Line lengths - are limited by available memory, and file sizes - are limited by available disk space. The vvii text - input mode command <<ccoonnttrrooll--XX>> can insert any pos- - sible character value into the text. - - SSpplliitt ssccrreeeennss - The sspplliitt command divides the screen into multiple - editing regions. The <<ccoonnttrrooll--WW>> command rotates - between the foreground screens. The rreessiizzee com- - mand can be used to grow or shrink a particular - screen. - - BBaacckkggrroouunndd aanndd ffoorreeggrroouunndd ssccrreeeennss - The bbgg command backgrounds the current screen, and - the ffgg command foregrounds backgrounded screens. - The ddiissppllaayy command can be used to list the back- - ground screens. - - TTaagg ssttaacckkss - Tags are now maintained in a stack. The <<ccoonnttrrooll-- - TT>> command returns to the previous tag location. - The ttaaggppoopp command returns to the most recent tag - location by default, or, optionally to a specific - tag number in the tag stack, or the most recent - tag from a specified file. The ddiissppllaayy command - can be used to list the tags stack. The ttaaggttoopp - command returns to the top of the tag stack. - - NNeeww ddiissppllaayyss - The ddiissppllaayy command can be used to display the - current buffers, the backgrounded screens, and the - tags stack. - - IInnffiinniittee uunnddoo - Changes made during an edit session may be rolled - backward and forward. A .. command immediately - after a uu command continues either forward or - backward depending on whether the uu command was an - undo or a redo. - - UUssaaggee iinnffoorrmmaattiioonn - The eexxuussaaggee and vviiuussaaggee commands provide usage - information for all of the eexx and vvii commands by - default, or, optionally, for a specific command or - key. - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--8811 - - - EExxtteennddeedd RReegguullaarr EExxpprreessssiioonnss - The eexxtteennddeedd option causes Regular Expressions to - be interpreted as as Extended Regular Expressions, - (i.e. _e_g_r_e_p(1) style Regular Expressions). - - WWoorrdd sseeaarrcchh - The <<ccoonnttrrooll--AA>> command searches for the word ref- - erenced by the cursor. - - NNuummbbeerr iinnccrreemmeenntt - The ## command increments or decrements the number - referenced by the cursor. - - PPrreevviioouuss ffiillee - The pprreevviioouuss command edits the previous file from - the argument list. - - LLeefftt--rriigghhtt ssccrroolllliinngg - The lleeffttrriigghhtt option causes nnvvii to do left-right - screen scrolling, instead of the traditional vvii - line wrapping. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -UUSSDD::1133--8822 NNvvii//NNeexx RReeffeerreennccee - - - 1177.. IInnddeexx - - ! 15, 34 @ 20, 35 columns 47 - "" 34 A 20 comment 47 - # 16, 35 B 20 copy 36 - $ 16 C 21 count 10, 33 - % 16 D 21 current pathname 8 - & 17, 42 E 21 d 26 - ( 17 F 21 delete 37 - ) 17 G 21 directory 47 - * 35 H 21 display 37 - + 13 I 22 e 26 - , 18 J 22 edcompatible47 - /RE/ 18 L 22 edit 37 - 0 19 M 22 errorbells 47 - 0<control-D>31 N 18 exrc 47 - : 19 O 22 extended 48 - ; 19 P 23 exusage 37 - < 20, 35 Q 23 f 26 - <control-A> 11 R 23 fg 37 - <control-B> 11 S 23 file 33, 37 - <control-1D2>, 31 T 23 flags 33 - <control-E> 12 U 23 flash 48 - <control-F> 12 W 24 global 38 - <control-G> 12 X 24 hardtabs 48 - <control-1H2>, 31 Y 24 help 38 - <control-J> 13 ZZ 24 i 26 - <control-L> 13 [[ 24 ignorecase 48 - <control-M> 13 - 18 insert 38 - <control-N> 13 ]] 25 j 13 - <control-P> 13 ^ 25 join 38 - <control-R> 13 ^<control-D>31 k 13, 39 - <control-1T4>, 31 _ 25 keytime 48 - <control-U> 14 `<character>17 l 15 - <control-1W4>, 31 a 25 leftright 48 - <control-X> 31 abbrev 35 line 33 - <control-Y> 14 alternate pathname 8 lines 48 - <control-1Z4>, 43 altwerase 46 lisp 48 - <control-]> 15 append 36 list 39, 48 - <control-^> 15 args 36 m 27 - <end-of-file> 34 autoindent 46 magic 48 - <eof> 33 autoprint 46 map 39 - <erase> 31 autowrite 47 mark 39 - <escape>14, 31 b 25 matchtime 48 - <inter7r,up3t0>, 31 beautify 47 mesg 48 - <line erase>31 bg 36 mkexrc 39 - <literal next> 7, 31 bigword 10 modelines 49 - <nul> 30 buffer 8 motion 10 - <space> 15 c 26 move 39 - <word erase>31 cd 36 n 18 - = 35 cdpath 47 next 40 - > 20, 35 change 36 number 35, 49 - ?RE? 18 chdir 36 o 27 - - - - - - - - - - -NNvvii//NNeexx RReeffeerreennccee UUSSDD::1133--8833 - - - octal 49 tildeop 51 - open 40, 49 timeout 51 - optimize 49 ttywerase 52 - p 27 u 28 - paragraph 11 unabbrev 44 - paragraphs 49 undo 44 - preserve 40 unmap 44 - previous 40 unnamed buffer 8 - previous context 9 v 38 - print 40 verbose 52 - prompt 49 version 44 - put 40 visual 44 - quit 41 viusage 44 - r 27 w 28 - range 33 w1200 52 - read 41 w300 52 - readonly 49 w9600 52 - recdir 49 warn 52 - recover 41 window 52 - redraw 50 wn 44 - remap 50 word 10 - report 50 wq 44 - resize 41 wrapmargin 52 - rewind 41 wrapscan 52 - ruler 50 write 44 - s 27 writeany 53 - scroll 50 x 28 - section 11 xit 45 - sections 50 y 28 - sentence 11 yank 45 - set 41 z 28, 45 - shell 42, 50 { 29 - shiftwidth 50 | 29 - showdirty 51 } 29 - showmatch 51 ~ 29, 30, 42 - showmode 51 - sidescroll 51 - slowopen 51 - source 42 - sourceany 51 - split 42 - stop 43 - substitute 42 - suspend 43 - t 27, 36 - tabstop 51 - tag 43 - taglength 51 - tagpop 43 - tags 51 - tagtop 43 - term 51 - terse 51 - - - - - - - - - - -UUSSDD::1133--22 NNvvii//NNeexx RReeffeerreennccee - - - TTaabbllee ooff CCoonntteennttss - - Description ...................................... 3 - Startup Information .............................. 3 - Recovery ......................................... 4 - Sizing the Screen ................................ 7 - Character Display ................................ 7 - Multiple Screens ................................. 8 - Regular Expressions and Replacement Strings ...... 9 - General Editor Description ....................... 10 - Vi Description ................................... 12 - Vi Commands ...................................... 17 - Vi Text Input Commands ........................... 45 - Ex Addressing .................................... 47 - Ex Description ................................... 49 - Ex Commands ...................................... 50 - Set Options ...................................... 68 - Additional Features in Nex/Nvi ................... 79 - Index ............................................ 82 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |