Commit | Line | Data |
---|---|---|
395c4480 AM |
1 | EX/VI REFERENCE MANUAL(1) BSD Reference Manual EX/VI REFERENCE MANUAL(1) |
2 | ||
3 | N\bNA\bAM\bME\bE | |
4 | e\bex\bx,\b, v\bvi\bi,\b, v\bvi\bie\bew\bw - text editors | |
5 | ||
6 | D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN | |
7 | V\bVi\bi is a screen oriented text editor. E\bEx\bx is a line-oriented text editor. | |
8 | E\bEx\bx and v\bvi\bi are different interfaces to the same program, and it is possi- | |
9 | ble to switch back and forth during an edit session. V\bVi\bie\bew\bw is the equiva- | |
10 | lent of using the -\b-R\bR (read-only) option of v\bvi\bi. | |
11 | ||
12 | This reference manual is the one provided with the n\bne\bex\bx/\b/n\bnv\bvi\bi versions of | |
13 | the e\bex\bx/\b/v\bvi\bi text editors. N\bNe\bex\bx/\b/n\bnv\bvi\bi are intended as bug-for-bug compatible | |
14 | replacements for the original Fourth Berkeley Software Distribution | |
15 | (4BSD) e\bex\bx and v\bvi\bi programs. This reference manual is accompanied by a | |
16 | traditional-style manual page. That manual page describes the function- | |
17 | ality found in e\bex\bx/\b/v\bvi\bi in far less detail than the description here. In | |
18 | addition, it describes the system interface to e\bex\bx/\b/v\bvi\bi, e.g. command line | |
19 | options, environmental variables, and similar things. | |
20 | ||
21 | This reference is intended for users already familiar with e\bex\bx/\b/v\bvi\bi. Anyone | |
22 | else should almost certainly read a good tutorial on the editor first. | |
23 | If you're in an unfamiliar environment, and you absolutely have to get | |
24 | work done immediately, see the section entitled FAST STARTUP in the manu- | |
25 | al page. It's probably enough to get you going. | |
26 | ||
27 | For the rest of this reference, n\bne\bex\bx/\b/n\bnv\bvi\bi is used only when it's necessary | |
28 | to distinguish it from the historic implementations of e\bex\bx/\b/v\bvi\bi. | |
29 | ||
30 | A\bAD\bDD\bDI\bIT\bTI\bIO\bON\bNA\bAL\bL F\bFE\bEA\bAT\bTU\bUR\bRE\bES\bS | |
31 | There are a few features in n\bne\bex\bx/\b/n\bnv\bvi\bi that are not found in historic ver- | |
32 | sions of e\bex\bx/\b/v\bvi\bi. A list of those features is as follows: | |
33 | ||
34 | 8-bit clean data, large lines, files | |
35 | N\bNv\bvi\bi/\b/n\bne\bex\bx will edit any format file. Line lengths are limited by | |
36 | available memory, and file sizes are limited by available disk | |
37 | space. The command ``^Vx[0-9A-Fa-f]*'', in input mode, will in- | |
38 | sert any legal character value into the text. | |
39 | ||
40 | Split screens | |
41 | The command ``:sp[lit] [file ...]'' splits the screen in vi mode. | |
42 | The key ``^W'' switches between the foreground screens, and the | |
43 | ``:resize count'' command can be used to grow or shrink a partic- | |
44 | ular screen. | |
45 | ||
46 | Background and foreground screens | |
47 | The command ``:bg'' backgrounds the current screen, and the com- | |
48 | mand ``:fg [file]'' foregrounds the backgrounded screen that is | |
49 | editing the specified file, or, by default, the first background | |
50 | screen on the queue. The command ``:di[splay] s[creens]'' lists | |
51 | the background screens. | |
52 | ||
53 | Shell screens | |
54 | The command ``:sc[ript] [file ...]'' runs a shell in the screen. | |
55 | Editing is unchanged, with the exception that a <carriage-return> | |
56 | enters the current line (stripped of any prompt) as input to the | |
57 | shell. | |
58 | ||
59 | Tag stacks | |
60 | Tags are now maintained in a stack. The command ``^T'' returns | |
61 | to the previous tag location. The command ``:tagpop [number | |
62 | file]'' returns to the most recent tag location by default, or, | |
63 | optionally to a specific tag number in the tag stack, or the most | |
64 | recent tag from the specified file. Use the command ``:di[splay] | |
65 | t[ags]'' to view the tags stack. The command ``:tagtop'' returns | |
66 | ||
67 | to the top of the tag stack. | |
68 | ||
69 | New displays | |
70 | The command ``:di[splay] b[uffers] s[creens] t[ags]'' can be | |
71 | used to display, respectively, the current cut buffers, the back- | |
72 | grounded screens, and the tags stack. | |
73 | ||
74 | Infinite undo | |
75 | The changes made during an edit session may be rolled backward | |
76 | and forward. A '.' command immediately after a 'u' command con- | |
77 | tinues either forward or backward depending on whether the 'u' | |
78 | command was an undo or a redo. | |
79 | ||
80 | Usage information | |
81 | The command ``:exu[sage] [cmd]'' and ``viu[sage] [key]'' provide | |
82 | usage information for all of the ex and vi commands by default, | |
83 | or, optionally, for a specific command or key. | |
84 | ||
85 | Extended regular expressions | |
86 | The ``:set extended'' command treats search and other command | |
87 | regular expressions as extended (egrep(1) style) regular expres- | |
88 | sions. | |
89 | ||
90 | Word search | |
91 | The command ``^A'' searches for the word referenced by the cur- | |
92 | sor. | |
93 | ||
94 | Number increment | |
95 | The command ``#'' increments the number referenced by the cursor. | |
96 | ||
97 | Previous file | |
98 | The command ``:prev[ious][!]'' edits the previous file from the | |
99 | argument list. | |
100 | ||
101 | Left-Right scrolling | |
102 | The command ``:set leftright'' makes n\bnv\bvi\bi do left-right screen | |
103 | scrolling, instead of the traditional v\bvi\bi line wrapping. | |
104 | ||
105 | R\bRE\bEC\bCO\bOV\bVE\bER\bRY\bY | |
106 | There is no recovery program for n\bnv\bvi\bi, nor does n\bnv\bvi\bi run setuid. Users may | |
107 | recover any file which they may read, and the superuser may recover any | |
108 | edit session. | |
109 | ||
110 | Edit sessions are backed by files in _\b/_\bv_\ba_\br_\b/_\bt_\bm_\bp_\b/_\bv_\bi_\b._\br_\be_\bc_\bo_\bv_\be_\br, and are named | |
111 | ``vi.XXXX'', where ``XXXX'' is a number related to the process id. When | |
112 | a file is first modified, a second file, which contains an email message | |
113 | for the user, is created, and is named ``recover.XXXX'', where, again, | |
114 | ``XXXX'' is associated with the process id. Both files are removed at | |
115 | the end of a normal edit session, but will remain if the edit session is | |
116 | abnormally terminated or the user enters the ex/vi ``preserve'' command. | |
117 | The use of the _\b/_\bv_\ba_\br_\b/_\bt_\bm_\bp directory may be changed setting the r\bre\bec\bcd\bdi\bir\br op- | |
118 | tion in the user's or system startup information. | |
119 | ||
120 | The recovery directory should have the ``sticky-bit'' set so that only | |
121 | the owners of files may remove them. If this is not possible on the sys- | |
122 | tem, then a pseudo-user should own the recovery directory. The recovery | |
123 | directory must be both read and write-able by any user. | |
124 | ||
125 | The recovery file has all of the necessary information in it to enable | |
126 | the user to recover the edit session. In addition, it has all of the | |
127 | necessary email headers for sendmail. When the system is rebooted, all | |
128 | of the files in _\b/_\bv_\ba_\br_\b/_\bt_\bm_\bp_\b/_\bv_\bi_\b._\br_\be_\bc_\bo_\bv_\be_\br named ``recover.XXXX'' should be sent | |
129 | by email, using the -\b-t\bt flag of sendmail (or a similar mechanism in other | |
130 | mailers). A simple way to do this is to insert the following script into | |
131 | ||
132 | your _\b/_\be_\bt_\bc_\b/_\br_\bc_\b._\bl_\bo_\bc_\ba_\bl (or other startup) file: | |
133 | virecovery=`echo /var/tmp/vi.recover/recover.*` | |
134 | if [ "$virecovery" != "/var/tmp/vi.recover/recover.*" ]; then | |
135 | echo 'Recovering vi editor sessions' | |
136 | for i in $virecovery; do | |
137 | sendmail -t < $i | |
138 | done | |
139 | fi | |
140 | ||
141 | If e\bex\bx/\b/v\bvi\bi receives a hangup (SIGHUP) signal, it will email the recovery | |
142 | information to the user itself. | |
143 | ||
144 | If you don't have the sendmail program on your system, the source file | |
145 | _\bn_\bv_\bi_\b/_\br_\be_\bc_\bo_\bv_\be_\br_\b._\bc will have to be modified to use your local mail delivery | |
146 | programs. | |
147 | ||
148 | S\bST\bTA\bAR\bRT\bTU\bUP\bP I\bIN\bNF\bFO\bOR\bRM\bMA\bAT\bTI\bIO\bON\bN | |
149 | E\bEx\bx/\b/v\bvi\bi interprets one of two possible environmental variables and reads up | |
150 | to three of five possible files during startup. The variables and files | |
151 | are expected to contain e\bex\bx commands, not v\bvi\bi commands. In addition, they | |
152 | are interpreted _\bb_\be_\bf_\bo_\br_\be the file to be edited is read, and therefore many | |
153 | e\bex\bx commands may not be used. Generally, any command that requires output | |
154 | to the screen or that needs a file upon which to operate, will cause an | |
155 | error if included in a startup file or environmental variable. | |
156 | ||
157 | First, the file _\b/_\be_\bt_\bc_\b/_\bv_\bi_\b._\be_\bx_\br_\bc is read. Second, the environmental variable | |
158 | NEXINIT (or the variable EXINIT, if NEXINIT isn't set) is interpreted. | |
159 | Third, if neither NEXINIT or EXINIT was set, the file _\b$_\bH_\bO_\bM_\bE_\b/_\b._\bn_\be_\bx_\br_\bc (or | |
160 | the file _\b$_\bH_\bO_\bM_\bE_\b/_\b._\be_\bx_\br_\bc, if _\b$_\bH_\bO_\bM_\bE_\b/_\b._\bn_\be_\bx_\br_\bc doesn't exist) is read. Fourth, | |
161 | the file _\b._\bn_\be_\bx_\br_\bc (or the file _\b._\be_\bx_\br_\bc, if _\b._\bn_\be_\bx_\br_\bc doesn't exist) is read. | |
162 | ||
163 | Startup files will not be read if they are owned by anyone other than the | |
164 | real user-id of the user running v\bvi\bi, (or by ``root'' in the case of the | |
165 | file _\b/_\be_\bt_\bc_\b/_\bv_\bi_\b._\be_\bx_\br_\bc) or if they are writable by anyone other than the own- | |
166 | er. Home directory startup files (i.e. _\b$_\bH_\bO_\bM_\bE_\b/_\b._\bn_\be_\bx_\br_\bc and _\b$_\bH_\bO_\bM_\bE_\b/_\b._\be_\bx_\br_\bc) | |
167 | will not be read if the ``HOME'' environmental variable is not set. Lo- | |
168 | cal startup files (i.e. _\b._\bn_\be_\bx_\br_\bc and _\b._\be_\bx_\br_\bc) will not be read if the e\bex\bxr\brc\bc | |
169 | option is turned off in the _\b/_\be_\bt_\bc_\b/_\bv_\bi_\b._\be_\bx_\br_\bc, _\b$_\bH_\bO_\bM_\bE_\b/_\b._\bn_\be_\bx_\br_\bc, or _\b$_\bH_\bO_\bM_\bE_\b/_\b._\be_\bx_\br_\bc | |
170 | files, or in the NEXINIT or EXINIT environmental variables. It is not an | |
171 | error for any of the startup environmental variables or files not to ex- | |
172 | ist. | |
173 | ||
174 | Because the e\bex\bx command set supported by n\bne\bex\bx/\b/n\bnv\bvi\bi is a superset of the com- | |
175 | mand set supported by most historical implementations of e\bex\bx, n\bne\bex\bx/\b/n\bnv\bvi\bi can | |
176 | use the startup files created for the historical implementations, but the | |
177 | converse is often not true. | |
178 | ||
179 | S\bSI\bIZ\bZI\bIN\bNG\bG T\bTH\bHE\bE S\bSC\bCR\bRE\bEE\bEN\bN | |
180 | The size of the screen can be set in a number of ways. E\bEx\bx/\b/v\bvi\bi takes the | |
181 | following steps until values are obtained for both the number of rows and | |
182 | number of columns in the screen. | |
183 | ||
184 | 1. If the environmental variable LINES exists, it is used to specify | |
185 | the number of rows in the screen. | |
186 | 2. If the environmental variable COLUMNS exists, it is used to specify | |
187 | the number of columns in the screen. | |
188 | 3. The TIOCGWINSZ ioctl(2) is attempted on the standard error file de- | |
189 | scriptor. | |
190 | 4. The termcap entry is checked for the ``li'' entry (rows) and the | |
191 | ``co'' entry (columns). | |
192 | 5. The number of rows is set to 24, and the number of columns is set to | |
193 | 80. | |
194 | ||
195 | If a window change size signal (SIGWINCH) is received, the same steps are | |
196 | taken with the exception that the first two steps are skipped. | |
197 | ||
198 | R\bRE\bEG\bGU\bUL\bLA\bAR\bR E\bEX\bXP\bPR\bRE\bES\bSS\bSI\bIO\bON\bNS\bS A\bAN\bND\bD R\bRE\bEP\bPL\bLA\bAC\bCE\bEM\bME\bEN\bNT\bT S\bST\bTR\bRI\bIN\bNG\bGS\bS | |
199 | Regular expressions are used in line addresses, as the first part of | |
200 | s\bsu\bub\bbs\bst\bti\bit\btu\but\bte\be, g\bgl\blo\bob\bba\bal\bl, and v\bvg\bgl\blo\bob\bba\bal\bl commands, and in search patterns. | |
201 | ||
202 | The regular expressions supported by e\bex\bx and v\bvi\bi are, by default, the Basic | |
203 | Regular Expressions (BRE's) described in the IEEE POSIX Standard 1003.2. | |
204 | The e\bex\bxt\bte\ben\bnd\bde\bed\bd option causes all regular expressions to be interpreted as | |
205 | the Extended Regular Expressions (ERE's) described by the same standard. | |
206 | (See re_format(7) for more information. Generally speaking, BRE's are | |
207 | ed(1) and grep(1) style regular expressions, and ERE's are egrep(1) style | |
208 | regular expressions.) | |
209 | ||
210 | There are some special strings and characters that can be used in RE's: | |
211 | 1. An empty RE (e.g. ``//'') is equivalent to the last RE used. | |
212 | 2. The construct ``\<'' matches the beginning of a word. | |
213 | 3. The construct ``\>'' matches the end of a word. | |
214 | 4. The character ``~'' matches the replacement part of the last | |
215 | s\bsu\bub\bbs\bst\bti\bit\btu\but\bte\be command. | |
216 | ||
217 | When the m\bma\bag\bgi\bic\bc option is _\bn_\bo_\bt set, the only characters with special mean- | |
218 | ings are ``^'' at the beginning of an RE, ``$'' at the end of an RE, and | |
219 | the escaping character ``\''. The characters ``.'', ``*'', ``['', and | |
220 | ``~'' are treated as ordinary characters unless preceded by a ``\''; when | |
221 | preceded by a ``\'' they regain their special meaning. | |
222 | ||
223 | Replacement strings are the second part of a s\bsu\bub\bbs\bst\bti\bit\btu\but\bte\be command. | |
224 | ||
225 | The character ``&'' (or ``\&'' if the m\bma\bag\bgi\bic\bc option is _\bn_\bo_\bt set) in the re- | |
226 | placement string stands for the text matched by the RE that's being re- | |
227 | placed. The character ``~'' (or ``\~'' if the m\bma\bag\bgi\bic\bc option is _\bn_\bo_\bt set) | |
228 | stands for the replacement part of the previous s\bsu\bub\bbs\bst\bti\bit\btu\but\bte\be command. | |
229 | ||
230 | The string ``\#'', where ``#'' is an integer value from 1 to 9, stands | |
231 | for the text matched by the portion of the RE enclosed in the #'th set of | |
232 | escaped parentheses, e.g. ``\('' and ``\)''. For example, | |
233 | ``s/abc\(.*\)def/\1/'' deletes the strings ``abc'' and ``def'' from the | |
234 | matched pattern. | |
235 | ||
236 | The strings ``\l'', ``\u'', ``\L'', and ``\U'' can be used to modify the | |
237 | case of elements in the replacement string. The string ``\l'' causes the | |
238 | next character to be converted to lowercase; the string ``\u'' behaves | |
239 | similarly, but converts to uppercase. The strings ``\L'' causes charac- | |
240 | ters up to the end of the string or the next occurrence of the strings | |
241 | ``\e'' or ``\E'' to be converted to lowercase; the string ``\U'' behaves | |
242 | similarly, but converts to uppercase. | |
243 | ||
244 | In v\bvi\bi, inserting a <control-M> into the replacement string will cause the | |
245 | matched line to be split into two lines at that point. | |
246 | ||
247 | S\bSE\bET\bT O\bOP\bPT\bTI\bIO\bON\bNS\bS | |
248 | There are a large number of options that may be set (or unset) to change | |
249 | the editor's behavior. This section describes the options, their abbre- | |
250 | viations and their default values. | |
251 | ||
252 | In each entry below, the first part of the tag line is the full name of | |
253 | the option, followed by any equivalent abbreviations. (Regardless of the | |
254 | abbreviations, it is only necessary to use the minimum number of charac- | |
255 | ters necessary to distinguish an abbreviation from all other commands for | |
256 | it to be accepted, in n\bne\bex\bx/\b/n\bnv\bvi\bi. Historically, only the full name and the | |
257 | official abbreviations were accepted by e\bex\bx/\b/v\bvi\bi. Using full names in your | |
258 | startup files and environmental variables will probably make them more | |
259 | portable.) The part in square brackets is the default value of the op- | |
260 | tion. Most of the options are boolean, i.e. they are either on or off, | |
261 | and do not have an associated value. | |
262 | ||
263 | ||
264 | Options apply to both e\bex\bx and v\bvi\bi modes, unless otherwise specified. | |
265 | ||
266 | For information on modifying the options or to display the options and | |
267 | their current values, see the ``set'' command in the Ex Commands section. | |
268 | altwerase [off] | |
269 | V\bVi\bi only. Change how v\bvi\bi does word erase during text input. When | |
270 | this option is set, text is broken up into three classes: alphabet- | |
271 | ic, numeric and underscore characters, other non-blank characters, | |
272 | and blank characters. Changing from one class to another marks the | |
273 | end of a word. In addition, the class of the first character | |
274 | erased is ignored (which is exactly what you want when erasing | |
275 | pathname components). | |
276 | autoindent, ai [off] | |
277 | If this option is set, whenever you create a new line (using the v\bvi\bi | |
278 | A\bA, a\ba, C\bC, c\bc, I\bI, i\bi, O\bO, o\bo, R\bR, r\br, S\bS, and s\bs commands, or the e\bex\bx a\bap\bpp\bpe\ben\bnd\bd, | |
279 | c\bch\bha\ban\bng\bge\be, and i\bin\bns\bse\ber\brt\bt commands) the new line is automatically indented | |
280 | to align the cursor with the first non-blank character of the line | |
281 | from which you created it. Lines are indented using tab characters | |
282 | to the extent possible (based on the value of the t\bta\bab\bbs\bst\bto\bop\bp option) | |
283 | and then using space characters as necessary. For commands insert- | |
284 | ing text into the middle of a line, any blank characters to the | |
285 | right of the cursor are discarded, and the first non-blank charac- | |
286 | ter to the right of the cursor is aligned as described above. | |
287 | ||
288 | The indent characters are themselves somewhat special. If you do | |
289 | not enter more characters on the new line before moving moving to | |
290 | another line, or entering <escape>, the indent character will be | |
291 | deleted and the line will be empty. For example, if you enter | |
292 | <carriage-return> twice in succession, the line created by the | |
293 | first <carriage-return> will not have any characters in it, regard- | |
294 | less of the indentation of the previous or subsequent line. | |
295 | ||
296 | Indent characters also require that you enter additional erase | |
297 | characters to delete them. For example, if you have an indented | |
298 | line, containing only blanks, the first <word-erase> character you | |
299 | enter will erase up to end of the indent characters, and the second | |
300 | will erase back to the beginning of the line. (Historically, only | |
301 | the ^\b^D\bD key would erase the indent characters. Both the ^\b^D\bD key and | |
302 | the usual erase keys work in n\bnv\bvi\bi .\b.)\b) In addition, if the cursor is | |
303 | positioned at the end of the indent characters, the keys ``0^D'' | |
304 | will erase all of the indent characters for the current line, re- | |
305 | setting the indentation level to 0. Similarly, the keys ``^^D'' | |
306 | (i.e. a carat followed by a <control-D>) will erase all of the in- | |
307 | dent characters for the current line, leaving the indentation level | |
308 | for future created lines unaffected. | |
309 | ||
310 | Finally, if a\bau\but\bto\boi\bin\bnd\bde\ben\bnt\bt is set, the S\bS and c\bcc\bc commands change from | |
311 | the first non-blank of the line to the end of the line, instead of | |
312 | from the beginning of the line to the end of the line. | |
313 | autoprint, ap [off] | |
314 | E\bEx\bx only. E\bEx\bx only. Cause the current line to be automatically dis- | |
315 | played after the e\bex\bx commands <\b<, >\b>, c\bco\bop\bpy\by, d\bde\bel\ble\bet\bte\be, j\bjo\boi\bin\bn, m\bmo\bov\bve\be, p\bpu\but\bt, | |
316 | t\bt, U\bUn\bnd\bdo\bo, and u\bun\bnd\bdo\bo. This automatic display is suppressed during | |
317 | g\bgl\blo\bob\bba\bal\bl and v\bvg\bgl\blo\bob\bba\bal\bl commands, and for any command where optional | |
318 | flags are used to explicitly display the line. | |
319 | autowrite, aw [off] | |
320 | If this option is set, the v\bvi\bi !\b! ^\b^^\b^ ^\b^]\b] and ^\b^Z\bZ commands, and the e\bex\bx | |
321 | e\bed\bdi\bit\bt, n\bne\bex\bxt\bt, r\bre\bew\bwi\bin\bnd\bd, s\bst\bto\bop\bp, s\bsu\bus\bsp\bpe\ben\bnd\bd, t\bta\bag\bg, t\bta\bag\bgp\bpo\bop\bp, and t\bta\bag\bgt\bto\bop\bp commands | |
322 | automatically write the current file back to the current file name | |
323 | if it has been modified since it was last written. If the write | |
324 | fails, the command fails and goes no further. | |
325 | ||
326 | Appending the optional force flag ``!'' to the e\bex\bx commands n\bne\bex\bxt\bt, | |
327 | r\bre\bew\bwi\bin\bnd\bd, s\bst\bto\bop\bp, s\bsu\bus\bsp\bpe\ben\bnd\bd, t\bta\bag\bg, t\bta\bag\bgp\bpo\bop\bp, and t\bta\bag\bgt\bto\bop\bp stops the automatic | |
328 | write from being attempted. | |
329 | ||
330 | ||
331 | (Historically, the n\bne\bex\bxt\bt command ignored the optional force flag.) | |
332 | Note, the e\bex\bx commands e\bed\bdi\bit\bt, q\bqu\bui\bit\bt, s\bsh\bhe\bel\bll\bl, and x\bxi\bit\bt are _\bn_\bo_\bt affected | |
333 | by the a\bau\but\bto\bow\bwr\bri\bit\bte\be option. | |
334 | beautify, bf [off] | |
335 | If this option is set, all control characters that are not current- | |
336 | ly being specially interpreted, other than <tab>, <newline>, and | |
337 | <form-feed>, are discarded from commands read in by e\bex\bx from command | |
338 | files, and from input text entered to v\bvi\bi (either into the file or | |
339 | to the colon command line). Text files read by e\bex\bx/\b/v\bvi\bi are _\bn_\bo_\bt af- | |
340 | fected by the b\bbe\bea\bau\but\bti\bif\bfy\by option. | |
341 | cdpath [environment variable CDPATH, or ``.''] | |
342 | This option is used to specify a colon separated list of directo- | |
343 | ries which are used as path prefixes for any relative path names | |
344 | used as arguments for the c\bcd\bd command. The value of this option de- | |
345 | faults to the value of the environmental variable CDPATH if it is | |
346 | set, otherwise to the current directory. For compatibility with | |
347 | the POSIX 1003.2 shell, the c\bcd\bd command does _\bn_\bo_\bt check the current | |
348 | directory as a path prefix for relative path names unless it is ex- | |
349 | plicitly specified. It may be so specified by entering an empty | |
350 | string or a ``.'' into the CDPATH variable or the option value. | |
351 | columns, co [80] | |
352 | The number of columns in the screen. Setting this option causes | |
353 | e\bex\bx/\b/v\bvi\bi to set (or reset) the environmental variable COLUMNS. See the | |
354 | SCREEN SIZING section for more information. | |
355 | comment [off] | |
356 | V\bVi\bi only. If the first non-empty line of the file begins with the | |
357 | string ``/*'', this option causes v\bvi\bi to skip to the end of that C | |
358 | comment (probably a terribly boring legal notice) before displaying | |
359 | the file. | |
360 | directory, dir [environment variable TMPDIR, or /tmp] | |
361 | The directory where temporary files are created. The environmental | |
362 | variable TMPDIR is used as the default value if it exists, other- | |
363 | wise _\b/_\bt_\bm_\bp is used. | |
364 | edcompatible, ed [off] | |
365 | This option causes the presence or absence of g\bg and c\bc suffixes on | |
366 | s\bsu\bub\bbs\bst\bti\bit\btu\but\bte\be commands to be remembered, and to be toggled by repeat- | |
367 | ing the suffices. The suffix r\br makes the substitution be as in the | |
368 | ~\b~ command, instead of like the &\b& command. | |
369 | _\bT_\bh_\bi_\bs _\bo_\bp_\bt_\bi_\bo_\bn _\bi_\bs _\bn_\bo_\bt _\by_\be_\bt _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\be_\bd_\b. | |
370 | errorbells, eb [off] | |
371 | E\bEx\bx only. Causes e\bex\bx error messages to be preceded by a bell. | |
372 | _\bT_\bh_\bi_\bs _\bo_\bp_\bt_\bi_\bo_\bn _\bi_\bs _\bn_\bo_\bt _\by_\be_\bt _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\be_\bd_\b. | |
373 | exrc, ex [off] | |
374 | If this option is turned off in the system or $HOME startup files, | |
375 | the local startup files are never read (unless they are the same as | |
376 | the system or $HOME startup files). Turning it on has no effect, | |
377 | i.e. the normal checks for local startup files are performed, re- | |
378 | gardless. See the STARTUP INFORMATION section for more informa- | |
379 | tion. | |
380 | extended [off] | |
381 | This option causes all regular expressions to be treated as POSIX | |
382 | 1003.2 extended regular expressions (which are similar to historic | |
383 | egrep(1) style expressions). | |
384 | flash [on] | |
385 | This option causes the screen to flash instead of beeping the key- | |
386 | board, on error, if the terminal has the capability. | |
387 | hardtabs, ht [8] | |
388 | This option defines the spacing between hardware tab settings, i.e. | |
389 | the tab expansion done by the operating system and/or the terminal | |
390 | itself. As n\bne\bex\bx/\b/n\bnv\bvi\bi never writes tabs to the terminal, unlike his- | |
391 | toric versions of e\bex\bx/\b/v\bvi\bi, this option does not currently have any | |
392 | affect. | |
393 | ignorecase, ic [off] | |
394 | This option causes regular expressions, both in e\bex\bx commands and in | |
395 | ||
396 | searches, to be evaluated in a case-insensitive manner. | |
397 | keytime [6] | |
398 | The 10th's of a second e\bex\bx/\b/v\bvi\bi waits for a subsequent key to complete | |
399 | a key mapping. | |
400 | leftright [off] | |
401 | V\bVi\bi only. This option causes the screen to be scrolled left-right | |
402 | to view lines longer than the screen, instead of the traditional v\bvi\bi | |
403 | screen interface which folds long lines at the right-hand margin of | |
404 | the terminal. | |
405 | lines, li [24] | |
406 | V\bVi\bi only. The number of lines in the screen. Setting this option | |
407 | causes e\bex\bx/\b/v\bvi\bi to set (or reset) the environmental variable LINES. | |
408 | See the Screen Sizing section for more information. | |
409 | lisp [off] | |
410 | V\bVi\bi only. This option changes the behavior of the v\bvi\bi (\b(, )\b), {\b{, }\b}, [\b[[\b[ | |
411 | and ]\b]]\b] commands to match the Lisp language. Also, the a\bau\but\bto\boi\bin\bnd\bde\ben\bnt\bt | |
412 | option's behavior is changed to be appropriate for Lisp. | |
413 | _\bT_\bh_\bi_\bs _\bo_\bp_\bt_\bi_\bo_\bn _\bi_\bs _\bn_\bo_\bt _\by_\be_\bt _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\be_\bd_\b. | |
414 | list [off] | |
415 | This option causes lines to be displayed in an unambiguous fashion. | |
416 | Specifically, tabs are displayed as control characters, i.e. | |
417 | ``^I'', and the ends of lines are marked with a ``$'' character. | |
418 | magic [on] | |
419 | This option is on by default. Turning the m\bma\bag\bgi\bic\bc option off causes | |
420 | all regular expression characters except for ``^'' and ``$'', to be | |
421 | treated as ordinary characters. To re-enable characters individu- | |
422 | ally, when the m\bma\bag\bgi\bic\bc option is off, precede them with an ``\''. See | |
423 | the REGULAR EXPRESSIONS AND REPLACEMENT STRINGS section for more | |
424 | information. | |
425 | matchtime [7] | |
426 | V\bVi\bi only. The 10th's of a second e\bex\bx/\b/v\bvi\bi pauses on the matching char- | |
427 | acter when the s\bsh\bho\bow\bwm\bma\bat\btc\bch\bh option is set. | |
428 | mesg [on] | |
429 | This option allows other users to contact you using the talk(1) and | |
430 | write(1) utilities, while you are editing. E\bEx\bx/\b/v\bvi\bi does not turn | |
431 | message on, i.e. if messages were turned off when the editor was | |
432 | invoked, they will stay turned off. This option only permits you | |
433 | to disallow messages for the edit session. See the mesg(1) utility | |
434 | for more information. | |
435 | modelines, modeline [off] | |
436 | If the m\bmo\bod\bde\bel\bli\bin\bne\bes\bs option is set, e\bex\bx/\b/v\bvi\bi has historically scanned the | |
437 | first and last five lines of each file as it is read for editing, | |
438 | looking for any e\bex\bx commands that have been placed in those lines. | |
439 | After the startup information has been processed, and before the | |
440 | user starts editing the file, any commands embedded in the file are | |
441 | executed. Commands are recognized by the letters ``e'' or ``v'' | |
442 | followed by ``x'' or ``i'', at the beginning of a line or following | |
443 | a tab or space character, and followed by a ``:'', an e\bex\bx command, | |
444 | and another ``:''. This option is a security problem of immense | |
445 | proportions, and should not be used under any circumstances. | |
446 | _\bT_\bh_\bi_\bs _\bo_\bp_\bt_\bi_\bo_\bn _\bw_\bi_\bl_\bl _\bn_\be_\bv_\be_\br _\bb_\be _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\be_\bd_\b. | |
447 | number, nu [off] | |
448 | Precede each line displayed with its current line number. | |
449 | open [on] | |
450 | E\bEx\bx only. If this option is not set, the o\bop\bpe\ben\bn and v\bvi\bis\bsu\bua\bal\bl commands | |
451 | are disallowed. | |
452 | optimize, opt [on] | |
453 | V\bVi\bi only. Throughput of text is expedited by setting the terminal | |
454 | to no do automatic carriage returns when printing more than one | |
455 | (logical) line of output, greatly speeding output on terminals | |
456 | without addressable cursors when text with leading white space is | |
457 | printed. | |
458 | _\bT_\bh_\bi_\bs _\bo_\bp_\bt_\bi_\bo_\bn _\bi_\bs _\bn_\bo_\bt _\by_\be_\bt _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\be_\bd_\b. | |
459 | paragraphs, para [IPLPPPQPP LIpplpipbp] | |
460 | V\bVi\bi only. Define additional paragraph boundaries for the {\b{ and }\b} | |
461 | commands. The value of this option must be a character string con- | |
462 | sisting of zero or more character pairs. | |
463 | ||
464 | In the text to be edited, the character string <newline>.<char- | |
465 | pair>, (where <char-pair> is one of the character pairs in the op- | |
466 | tion's value) defines a paragraph boundary. For example, if the | |
467 | option were set to ``LaA ##'', then all of the following additional | |
468 | paragraph boundaries would be recognized: | |
469 | <newline>.La | |
470 | <newline>.A<space> | |
471 | <newline>.## | |
472 | prompt [on] | |
473 | E\bEx\bx only. This option causes e\bex\bx to prompt for command input with a | |
474 | ``:'' character; when it's not set, no prompt is displayed. | |
475 | readonly, ro [off] | |
476 | This option causes a force flag to be required to attempt to write | |
477 | the file back to the original file name. Setting this option is | |
478 | equivalent to using the -\b-R\bR command line option, or editing a file | |
479 | which lacks write permission. | |
480 | recdir [/var/tmp/vi.recover] | |
481 | The directory where recovery files are stored. | |
482 | redraw, re [off] | |
483 | V\bVi\bi only. The editor simulates (using great amounts of output), an | |
484 | intelligent terminal on a dumb terminal (e.g. during insertions in | |
485 | visual mode the characters to the right of the cursor are refreshed | |
486 | as each input character is typed). | |
487 | _\bT_\bh_\bi_\bs _\bo_\bp_\bt_\bi_\bo_\bn _\bi_\bs _\bn_\bo_\bt _\by_\be_\bt _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\be_\bd_\b. | |
488 | remap [on] | |
489 | If this option is set, it's possible to define macros in terms of | |
490 | other macros. Otherwise, each key is only remapped up to one time. | |
491 | For example, if ``A'' is mapped to ``B'', and ``B'' is mapped to | |
492 | ``C'', The keystroke ``A'' will be mapped to ``C'' if r\bre\bem\bma\bap\bp is set, | |
493 | and to ``B'' if it is not set. | |
494 | remapmax [on] | |
495 | If this option is set, a key may only be remapped 50 times. If it | |
496 | is not set, a key may be remapped an infinite number of times, and | |
497 | the editor can be placed into infinite loops. | |
498 | report [5] | |
499 | Set the threshold of the number of lines that need to be changed | |
500 | before a message will be displayed to the user. The value is the | |
501 | largest value about which the editor is silent, i.e. by default, 6 | |
502 | lines must change before the user is notified. | |
503 | ruler [off] | |
504 | V\bVi\bi only. Display a row/column ruler on the colon command line. | |
505 | scroll, scr [window / 2] | |
506 | Set the number of lines scrolled by the v\bvi\bi commands ^\b^D\bD and ^\b^U\bU. | |
507 | ||
508 | Historically, the e\bex\bx z\bz command, when specified without a count, | |
509 | used two times the size of the scroll value; the POSIX 1003.2 stan- | |
510 | dard specified the window size, which is a better choice. | |
511 | sections, sect [NHSHH HUnhsh] | |
512 | V\bVi\bi only. Define additional section boundaries for the [\b[[\b[ and ]\b]]\b] | |
513 | commands. The s\bse\bec\bct\bti\bio\bon\bns\bs option should be set to a character string | |
514 | consisting of zero or more character pairs. In the text to be | |
515 | edited, the character string <newline>.<char-pair>, (where <char- | |
516 | pair> is one of the character pairs in the option's value), defines | |
517 | a section boundary in the same manner that p\bpa\bar\bra\bag\bgr\bra\bap\bph\bh option bound- | |
518 | aries are defined. | |
519 | shell, sh [environment variable SHELL, or /bin/sh] | |
520 | Select the shell used by the editor. The specified path is the | |
521 | pathname of the shell invoked by the v\bvi\bi !\b! shell escape command and | |
522 | by the e\bex\bx s\bsh\bhe\bel\bll\bl command. This program is also used to resolve any | |
523 | shell meta-characters in e\bex\bx commands. | |
524 | shiftwidth, sw [8] | |
525 | Set the autoindent and shift command indentation width. This width | |
526 | is used by the a\bau\but\bto\boi\bin\bnd\bde\ben\bnt\bt option and by the <\b<, >\b>, and s\bsh\bhi\bif\bft\bt com- | |
527 | ||
528 | mands. | |
529 | showdirty [off] | |
530 | V\bVi\bi only. Display an asterisk on the colon command line if the file | |
531 | has been modified. | |
532 | showmatch, sm [off] | |
533 | V\bVi\bi only. This option causes v\bvi\bi, when a ``}'' or ``)'' is entered, | |
534 | to briefly move the cursor the matching ``{'' or ``(''. See the | |
535 | m\bma\bat\btc\bch\bht\bti\bim\bme\be option for more information. | |
536 | showmode [off] | |
537 | V\bVi\bi only. This option causes v\bvi\bi to display the strings ``Command'' | |
538 | or ``Input'' on the colon command line, based on the current mode | |
539 | of the editor. | |
540 | sidescroll [16] | |
541 | V\bVi\bi only. Sets the number of columns that are shifted to the left | |
542 | or right, when v\bvi\bi is doing left-right scrolling and the left or | |
543 | right margin is crossed. See the l\ble\bef\bft\btr\bri\big\bgh\bht\bt option for more infor- | |
544 | mation. | |
545 | slowopen, slow [off] | |
546 | This option affects the display algorithm used by v\bvi\bi, holding off | |
547 | display updating during input of new text to improve throughput | |
548 | when the terminal in use is slow and unintelligent. | |
549 | _\bT_\bh_\bi_\bs _\bo_\bp_\bt_\bi_\bo_\bn _\bi_\bs _\bn_\bo_\bt _\by_\be_\bt _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\be_\bd_\b. | |
550 | sourceany [off] | |
551 | If this option is turned on, v\bvi\bi historically read startup files | |
552 | that were owned by someone other than the editor user. See the | |
553 | STARTUP INFORMATION section for more information. This option is a | |
554 | security problem of immense proportions, and should not be used un- | |
555 | der any circumstances. | |
556 | _\bT_\bh_\bi_\bs _\bo_\bp_\bt_\bi_\bo_\bn _\bw_\bi_\bl_\bl _\bn_\be_\bv_\be_\br _\bb_\be _\bi_\bm_\bp_\bl_\be_\bm_\be_\bn_\bt_\be_\bd_\b. | |
557 | tabstop, ts [8] | |
558 | This option sets tab widths for the editor display. | |
559 | taglength, tl [0] | |
560 | This option sets the maximum number of characters that are consid- | |
561 | ered significant in a tag name. Setting the value to 0 makes all | |
562 | of the characters in the tag name significant. | |
563 | tags, tag [tags /var/db/libc.tags /sys/kern/tags] | |
564 | Sets the list of tags files, in search order, which are used when | |
565 | the editor searches for a tag. | |
566 | term, ttytype, tty [environment variable TERM] | |
567 | Set the terminal type. Setting this option causes e\bex\bx/\b/v\bvi\bi to set (or | |
568 | reset) the environmental variable TERM. | |
569 | terse [off] | |
570 | This option has historically made editor messages less verbose. It | |
571 | has no effect in this implementation. See the v\bve\ber\brb\bbo\bos\bse\be option for | |
572 | more information. | |
573 | timeout, to [on] | |
574 | If this option is set, e\bex\bx/\b/v\bvi\bi waits for a specific period for a sub- | |
575 | sequent key to complete a key mapping (see the k\bke\bey\byt\bti\bim\bme\be option). If | |
576 | the option is not set, the editor waits until enough keys are en- | |
577 | tered to resolve the ambiguity, regardless of how long it takes. | |
578 | ttywerase [off] | |
579 | V\bVi\bi only. This option changes how v\bvi\bi does word erase during text | |
580 | input. If this option is set, text is broken up into two classes, | |
581 | blank characters and non-blank characters. Changing from one class | |
582 | to another marks the end of a word. | |
583 | verbose [off] | |
584 | only. V\bVi\bi historically bells the terminal for many obvious mis- | |
585 | takes, e.g. trying to move past the left-hand margin, or past the | |
586 | end of the file. If this option is set, an error message is dis- | |
587 | played for all errors. | |
588 | w300 [no default] | |
589 | V\bVi\bi only. Set the window size if the baud rate is less than 1200 | |
590 | baud. See the w\bwi\bin\bnd\bdo\bow\bw option for more information. | |
591 | w1200 [no default] | |
592 | V\bVi\bi only. Set the window size if the baud rate is equal to 1200 | |
593 | ||
594 | baud. See the w\bwi\bin\bnd\bdo\bow\bw option for more information. | |
595 | w9600 [no default] | |
596 | V\bVi\bi only. Set the window size if the baud rate is greater than 1200 | |
597 | baud. See the w\bwi\bin\bnd\bdo\bow\bw option for more information. | |
598 | warn [on] | |
599 | E\bEx\bx only. This option causes a warning message to the terminal if | |
600 | the file has been modified, since it was last written, before a !\b! | |
601 | command. | |
602 | window, w, wi [environment variable LINES] | |
603 | This option determines the default number of lines in a screenful, | |
604 | as written by the z\bz command. It also determines the number of | |
605 | lines scrolled by the v\bvi\bi commands ^\b^F\bF and ^\b^B\bB. The value of window | |
606 | can be unrelated to the real screen size, although it starts out as | |
607 | the number of lines on the screen (see the SCREEN SIZING section). | |
608 | Setting the value of the w\bwi\bin\bnd\bdo\bow\bw option is the same as using the -\b-w\bw | |
609 | command line option. | |
610 | ||
611 | If the value of w\bwi\bin\bnd\bdo\bow\bw (as set by the w\bwi\bin\bnd\bdo\bow\bw, w\bw3\b30\b00\b0, w\bw1\b12\b20\b00\b0 or w\bw9\b96\b60\b00\b0 | |
612 | options) is smaller than the actual size of the screen, large | |
613 | screen movements will result in displaying only that smaller number | |
614 | of lines on the screen. (Further movements in that same area will | |
615 | result in the screen being filled.) This can provide a performance | |
616 | improvement when viewing different places in one or more files over | |
617 | a slow link. | |
618 | wrapmargin, wm [0] | |
619 | V\bVi\bi only. If the value of wrapmargin is non-zero, v\bvi\bi will break | |
620 | lines, that are more than that number of characters long, into two | |
621 | lines at the blank character closest to the value. If wrapmargin | |
622 | is 0, or if there is no blank character upon which to break the | |
623 | line, the line will not be broken. | |
624 | wrapscan, ws [on] | |
625 | This option causes searches to wrap around the end or the beginning | |
626 | of the file, and back to the starting point. Otherwise, the end or | |
627 | beginning of the file terminates the search. | |
628 | writeany, wa [off] | |
629 | If this option is set, file-overwriting checks that would usually | |
630 | be made before the w\bwr\bri\bit\bte\be and x\bxi\bit\bt commands, or before an automatic | |
631 | write (see the a\bau\but\bto\bow\bwr\bri\bit\bte\be option), are not made. This allows a | |
632 | write to any file, provided the file permissions allow it. | |
633 | ||
634 | 4.4BSD March 18, 1994 10 |