| 1 | .Go 5 "OPTIONS" |
| 2 | .PP |
| 3 | Options may be set or examined via the colon command "set". |
| 4 | The values of options will affect the operation of later commands. |
| 5 | .PP |
| 6 | For convenience, options have both a long descriptive name and a short name |
| 7 | which is easy to type. |
| 8 | You may use either name interchangably. |
| 9 | I like the short names, myself. |
| 10 | .PP |
| 11 | There are three types of options: Boolean, string, and numeric. |
| 12 | Boolean options are made TRUE by giving the name of the option as an |
| 13 | argument to the "set" command; |
| 14 | they are made FALSE by prefixing the name with "no". |
| 15 | For example, "set autoindent" makes the autoindent option TRUE, |
| 16 | and "set noautoindent" makes it FALSE. |
| 17 | \*E also allows boolean options to be toggled by prefixing the name with "neg". |
| 18 | So, ":map g :set neglist^M" will cause the <g> key to alternately toggle the |
| 19 | "list" option on and off. |
| 20 | (The "neg" prefix is an extension; the real vi doesn't support it.) |
| 21 | .PP |
| 22 | To change the value of a string or numeric option, pass the "set" command |
| 23 | the name of the option, followed by an "=" sign and the option's new value. |
| 24 | For example, "set tabstop=8" will give the tabstop option a value of 8. |
| 25 | For string options, you may enclose the new value in quotes. |
| 26 | .LD |
| 27 | .ta 1.9i 2.4i 3.8i |
| 28 | .ps +2 |
| 29 | \fBNAMES TYPE DEFAULT MEANING\fP |
| 30 | .ps |
| 31 | autoindent, ai Bool noai auto-indent during input |
| 32 | autoprint, ap Bool ap in EX, print the current line |
| 33 | autotab, at Bool at auto-indent allowed to use tabs? |
| 34 | autowrite, aw Bool noaw auto-write when switching files |
| 35 | beautify, bf Bool nobf strip control chars from file? |
| 36 | charattr, ca Bool noca interpret \\fX sequences? |
| 37 | cc, cc Str cc="cc -c" name of the C compiler |
| 38 | columns, co Num co=80 width of the screen |
| 39 | digraph, dig Bool nodig recognize digraphs? |
| 40 | directory, dir Str dir="/usr/tmp" where tmp files are kept |
| 41 | edcompatible, ed Bool noed remember ":s//" options |
| 42 | equalprg, ep Bool ep="fmt" program to run for = operator |
| 43 | errorbells, eb Bool eb ring bell on error |
| 44 | exrc, exrc Bool noexrc read "./.exrc" file? |
| 45 | exrefresh, er Bool er write lines indiviually in EX |
| 46 | flash, vbell Bool flash use visible alternative to bell |
| 47 | flipcase, fc Str fc="" non-ASCII chars flipped by ~ |
| 48 | hideformat, hf Bool hf hide text formatter commands |
| 49 | ignorecase, ic Bool noic upper/lowercase match in search |
| 50 | inputmode, im Bool noim start vi in insert mode? |
| 51 | keytime, kt Num kt=2 timeout for mapped key entry |
| 52 | keywordprg, kp Str kp="ref" full pathname of shift-K prog |
| 53 | lines, ln Num ln=25 number of lines on the screen |
| 54 | list, li Bool noli display lines in "list" mode |
| 55 | magic, ma Bool ma use regular expression in search |
| 56 | make, mk Str mk="make" name of the "make" program |
| 57 | mesg, ms Bool ms allow messages from other users? |
| 58 | modelines, ml Bool noml are modelines processed? |
| 59 | more, more Bool more pause between messages? |
| 60 | novice, nov Bool nonovice set options for ease of use |
| 61 | paragraphs, para Str para="PPppIPLPQP" names of "paragraph" nroff cmd |
| 62 | prompt, pr Bool pr show ':' prompt in \fIex\fR mode |
| 63 | readonly, ro Bool noro prevent overwriting of orig file |
| 64 | remap, rem Bool remap allow key maps to call key maps |
| 65 | report, re Num re=5 report when 5 or more changes |
| 66 | ruler, ru Bool noru display line/column numbers |
| 67 | scroll, sc Num sc=12 scroll amount for ^U and ^D |
| 68 | sections, sect Str sect="NHSHSSSEse" names of "section" nroff cmd |
| 69 | shell, sh Str sh="/bin/sh" full pathname of the shell |
| 70 | showmatch, sm Bool nosm show matching ()[]{} |
| 71 | showmode, smd Bool nosmd say when we're in input mode |
| 72 | shiftwidth, sw Num sw=8 shift amount for < and > |
| 73 | sidescroll, ss Num ss=8 amount of sideways scrolling |
| 74 | sync, sy Bool nosy call sync() often |
| 75 | tabstop, ts Num ts=8 width of tab characters |
| 76 | taglength, tl Num tl=0 significant chars in tag name |
| 77 | term, te Str te="$TERM" name of the termcap entry |
| 78 | terse, tr Bool notr give shorter error messages |
| 79 | timeout, to Bool to distinguish <esc> from <arrow>? |
| 80 | warn, wa Bool wa warn for ! if file modified |
| 81 | window, wi Num wi=24 lines to redraw after long move |
| 82 | wrapmargin, wm Num wm=0 wrap long lines in input mode |
| 83 | wrapscan, ws Bool ws at EOF, searches wrap to line 1 |
| 84 | writeany, wr Bool nowr allow :w to clobber files |
| 85 | .DE |
| 86 | .TA |
| 87 | .ne 6 |
| 88 | .IP "autoindent, ai" |
| 89 | During input mode, the autoindent option will cause each added line |
| 90 | to begin with the same amount of leading whitespace as the line above it. |
| 91 | Without autoindent, added lines are initially empty. |
| 92 | .IP "autoprint, ap" |
| 93 | This option only affects EX mode. |
| 94 | If the autoprint option on, |
| 95 | and either the cursor has moved to a different line |
| 96 | or the previous command modified the file, |
| 97 | then \*E will print the current line. |
| 98 | .IP "autotab, at" |
| 99 | This option affects the behaviour of the autoindent mode. |
| 100 | If autoindent is turned off, then autotab has no effect. |
| 101 | .IP |
| 102 | When autotab is turned on, elvis will use a mixture of spaces and tabs |
| 103 | to create the proper amount of indentation. |
| 104 | This is the default. |
| 105 | .IP |
| 106 | When autotab is turned off, elvis will only use spaces for auto-indent. |
| 107 | \*E will still insert a real tab character when you hit the <Tab> key, though; |
| 108 | the autotab option only affects \fIautomatic\fR indentation. |
| 109 | .IP "autowrite, aw" |
| 110 | When you're editing one file and decide to switch to another |
| 111 | \- via the :tag command, or :next command, perhaps \- |
| 112 | if your current file has been modified, |
| 113 | then \*E will normally print an error message and refuse to switch. |
| 114 | .IP |
| 115 | However, if the autowrite option is on, |
| 116 | then \*E will write the modified version of the current file |
| 117 | and successfully switch to the new file. |
| 118 | .IP "beautify, bf" |
| 119 | This option causes all control characters to be deleted from the text file, |
| 120 | at the time when you start editing it. |
| 121 | If you're already editing a file when you turn on the beautify option, |
| 122 | then that file won't be affected. |
| 123 | .IP cc |
| 124 | The :cc command runs the C compiler. |
| 125 | This option should be set to the name of your compiler. |
| 126 | .IP "charattr, ca" |
| 127 | Many text formatting programs allow you to designate portions of |
| 128 | your text to be underlined, italicized, or boldface by embedding |
| 129 | the special strings \\fU, \\fI, and \\fB in your text. |
| 130 | The special string \\fP marks the end of underlined or boldface text. |
| 131 | .IP |
| 132 | \*E normally treats those special strings just like any other text. |
| 133 | .IP |
| 134 | However, if the charattr option is on, then \*E will interpret |
| 135 | those special strings correctly, |
| 136 | to display underlined or boldface text on the screen. |
| 137 | (This only works, of course, if your terminal can display |
| 138 | underlined and boldface, and if the TERMCAP entry says how to do it.) |
| 139 | .IP "columns, co" |
| 140 | This option shows how wide your screen is. |
| 141 | .IP "digraph, dig" |
| 142 | This option is used to enable/disable recognition of digraphs. |
| 143 | The default value is nodigraph, which means that digraphs will not be |
| 144 | recognized. |
| 145 | .IP "directory, dir" |
| 146 | \*E stores text in temporary files. |
| 147 | This option allows you to control which directory those temporary files will |
| 148 | appear in. |
| 149 | The default is /usr/tmp. |
| 150 | .IP |
| 151 | This option can only be set in a .exrc file; |
| 152 | after that, \*E will have already started making temporary files |
| 153 | in some other directory, so it would be too late. |
| 154 | .IP "edcompatible, ed" |
| 155 | This option affects the behaviour of the ":s/regexp/text/options" command. |
| 156 | It is normally off (:se noed) which causes all of the substitution options |
| 157 | to be off unless explicitly given. |
| 158 | .IP |
| 159 | However, with edcompatible on (:se ed), the substitution command remembers |
| 160 | which options you used last time. |
| 161 | Those same options will continue to be used until you change them. |
| 162 | In edcompatible mode, when you explicitly give the name of a |
| 163 | substitution option, you will toggle the state of that option. |
| 164 | .IP |
| 165 | This all seems very strange to me, but its implementation was almost free |
| 166 | when I added the ":&" command to repeat the previous substitution, |
| 167 | so there it is. |
| 168 | .IP "equalprg, ep" |
| 169 | This holds the name & arguments of the external filter program |
| 170 | used the the visual = operator. |
| 171 | The defualt value is "fmt", |
| 172 | so the = operator will adjust line breaks in text. |
| 173 | .IP "errorbells, eb" |
| 174 | \*E normally rings a bell when you do something wrong. |
| 175 | This option lets you disable the bell. |
| 176 | .IP exrc |
| 177 | This option specifies whether a .exrc file in the current directory |
| 178 | should be executed. |
| 179 | By default, this option is off (":set noexrc") which prevents elvis from |
| 180 | executing .exrc in the current directory. |
| 181 | If the .exrc file in your home directory turns this option on (":set exrc") |
| 182 | then the \*E will attempt to execute the .exrc file in the current directory. |
| 183 | .IP |
| 184 | This option exist mainly for security reasons. |
| 185 | A mean-spirited person could do something like |
| 186 | .br |
| 187 | echo >/tmp/.exrc '!rm -rf $HOME' |
| 188 | .br |
| 189 | and then anybody who attempted to edit or view a file in the /tmp directory |
| 190 | would lose most of their files. |
| 191 | With the exrc option turned off, this couldn't happen to you. |
| 192 | .IP "exrefresh, er" |
| 193 | The EX mode of \*E writes many lines to the screen. |
| 194 | You can make \*E either write each line to the screen separately, |
| 195 | or save up many lines and write them all at once. |
| 196 | .IP |
| 197 | The exrefresh option is normally on, so each line is written to the |
| 198 | screen separately. |
| 199 | .IP |
| 200 | You may wish to turn the exrefresh option off (:se noer) if the |
| 201 | "write" system call is costly on your machine, or if you're using a |
| 202 | windowing environment. |
| 203 | (Windowing environments scroll text a lot faster when you write |
| 204 | many lines at once.) |
| 205 | .IP |
| 206 | This option has no effect in visual command mode or input mode. |
| 207 | .IP "flash, vbell" |
| 208 | If your termcap entry describes a visible alternative to ringing |
| 209 | your terminal's bell, then this option will say whether the visible |
| 210 | version gets used or not. |
| 211 | Normally it will be. |
| 212 | .IP |
| 213 | If your termcap does NOT include a visible bell capability, |
| 214 | then the flash option will be off, and you can't turn it on. |
| 215 | .IP "flipcase, fc" |
| 216 | The flipcase option allows you to control how the non-ASCII characters are |
| 217 | altered by the "~" command. |
| 218 | .IP |
| 219 | The string is divided into pairs of characters. |
| 220 | When "~" is applied to a non-ASCII character, |
| 221 | \*E looks up the character in the flipcase string to see which pair it's in, |
| 222 | and replaces it by the other character of the pair. |
| 223 | .IP "hideformat, hf" |
| 224 | Many text formatters require you to embed format commands in your text, |
| 225 | on lines that start with a "." character. |
| 226 | \*E normally displays these lines like any other text, |
| 227 | but if the hideformat option is on, |
| 228 | then format lines are displayed as blank lines. |
| 229 | .IP "ignorecase, ic" |
| 230 | Normally, when \*E searches for text, it treats uppercase letters |
| 231 | as being different for lowercase letters. |
| 232 | .IP |
| 233 | When the ignorecase option is on, uppercase and lowercase are treated as equal. |
| 234 | .IP "inputmode, im" |
| 235 | This option allows you to have \*E start up in insert mode. |
| 236 | You can still exit insert mode at any time by hitting the ESC key, as usual. |
| 237 | Usually, this option would be set in your ".exrc" file. |
| 238 | .IP "keytime, kt" |
| 239 | The arrow keys of most terminals send a multi-character sequence. |
| 240 | It takes a measurable amount of time for these sequences to be transmitted. |
| 241 | The keytime option allows you to control the maximum amount of time |
| 242 | to allow for an arrow key (or other mapped key) to be received in full. |
| 243 | .IP |
| 244 | On most systems, the setting is the number of tenths of a second to allow |
| 245 | between characters. |
| 246 | On some other systems, the setting is in whole seconds. |
| 247 | .IP |
| 248 | Try to avoid setting keytime=1. |
| 249 | Most systems just count clock beats, so if you tried to read a character |
| 250 | shortly before a clock beat, you could allow almost no time at all for |
| 251 | reading the characters. |
| 252 | For higher keytime settings, the difference is less critical. |
| 253 | .IP |
| 254 | If your system's response time is poor, you might want to increase the keytime. |
| 255 | In particular, I've found that when keystrokes must be sent through a network |
| 256 | (via X windows, rlogin, or telnet, for example) the keytime should be set to |
| 257 | at least 1 second. |
| 258 | .IP |
| 259 | As a special case, |
| 260 | you can set keytime to 0 to disable this time limit stuff altogether. |
| 261 | The big problem here is: |
| 262 | If your arrow keys' sequences start with an ESC, |
| 263 | then every time you hit your ESC key \*E will wait... and wait... |
| 264 | to see if maybe that ESC was part of an arrow key's sequence. |
| 265 | .IP |
| 266 | NOTE: this option is a generalization of the timeout option of the real vi. |
| 267 | .IP "keywordprg, kp" |
| 268 | \*E has a special keyword lookup feature. |
| 269 | You move the cursor onto a word, and hit shift-K, |
| 270 | and \*E uses another program to look up the word |
| 271 | and display information about it. |
| 272 | .IP |
| 273 | This option says which program gets run. |
| 274 | .IP |
| 275 | The default value of this option is "ref", |
| 276 | which is a program that looks up the definition of a function in C. |
| 277 | It looks up the function name in a file called "refs" which is created by ctags. |
| 278 | .IP |
| 279 | You can subtitute other programs, such as an English dictionary program |
| 280 | or the online manual. |
| 281 | \*E runs the program, using the keyword as its only argument. |
| 282 | The program should write information to stdout. |
| 283 | The program's exit status should be 0, unless you want \*E to print |
| 284 | "<<< failed >>>". |
| 285 | .IP "lines, ln" |
| 286 | This option says how many lines you screen has. |
| 287 | .IP "list, li" |
| 288 | In nolist mode (the default), \*E displays text in a "normal" manner |
| 289 | -- with tabs expanded to an appropriate number of spaces, etc. |
| 290 | .IP |
| 291 | However, sometimes it is useful to have tab characters displayed differently. |
| 292 | In list mode, tabs are displayed as "^I", |
| 293 | and a "$" is displayed at the end of each line. |
| 294 | .IP "magic, ma" |
| 295 | The search mechanism in \*E can accept "regular expressions" |
| 296 | -- strings in which certain characters have special meaning. |
| 297 | .IP |
| 298 | The magic option is normally on, which causes these characters to be treated |
| 299 | specially. |
| 300 | .IP |
| 301 | If you turn the magic option off (:se noma), |
| 302 | then all characters except ^ and $ are treated literally. |
| 303 | ^ and $ retain their special meanings regardless of the setting of magic. |
| 304 | .IP "make, mk" |
| 305 | The :make command runs your "make" program. |
| 306 | This option defines the name of your "make" program. |
| 307 | .IP mesg |
| 308 | With the real vi, running under real UNIX, |
| 309 | ":set nomesg" would prevent other users from sending you messages. |
| 310 | \*E ignores it, though. |
| 311 | .IP "modelines, ml" |
| 312 | \*E supports modelines. |
| 313 | Modelines are lines near the beginning or end of your text file which |
| 314 | contain "ex:yowza:", |
| 315 | where "yowza" is any EX command. |
| 316 | A typical "yowza" would be something like "set ts=5 ca kp=spell wm=15". |
| 317 | Other text may also appear on a modeline, |
| 318 | so you can place the "ex:yowza:" in a comment: |
| 319 | .br |
| 320 | .ID |
| 321 | /* ex:set sw=4 ai: */ |
| 322 | .DE |
| 323 | .IP |
| 324 | Normally these lines are ignored, for security reasons, |
| 325 | but if you have "set modelines" in your .exrc file |
| 326 | then "yowza" is executed. |
| 327 | .IP "novice, nov" |
| 328 | The command ":set novice" is equivelent to ":set nomagic report=1 showmode". |
| 329 | .IP "paragraphs, pa" |
| 330 | The { and } commands move the cursor forward or backward in increments |
| 331 | of one paragraph. |
| 332 | Paragraphs may be separated by blank lines, or by a "dot" command of |
| 333 | a text formatter. |
| 334 | Different text formatters use different "dot" commands. |
| 335 | This option allows you to configure \*E to work with your text formatter. |
| 336 | .IP |
| 337 | It is assumed that your formatter uses commands that start with a |
| 338 | "." character at the front of a line, |
| 339 | and then have a one- or two-character command name. |
| 340 | .IP |
| 341 | The value of the paragraphs option is a string in which each pair |
| 342 | of characters is one possible form of your text formatter's paragraph |
| 343 | command. |
| 344 | .IP "more" |
| 345 | When \*E must display a sequence of messages at the bottom line of the screen |
| 346 | in visual mode, it normally pauses after all but the last one, so you have |
| 347 | time to read them all. |
| 348 | .IP |
| 349 | If you turn off the "more" option, then \*E will not pause. |
| 350 | This means you can only read the last message, but it is usually the most |
| 351 | important one anyway. |
| 352 | .IP "prompt, pr" |
| 353 | If you ":set noprompt", then \*E will no longer emit a ':' when it |
| 354 | expects you to type in an \fIex\fR command. |
| 355 | This is slightly useful if you're using an astonishingly slow UNIX machine, |
| 356 | but the rest of us can just ignore this one. |
| 357 | .IP "readonly, ro" |
| 358 | Normally, \*E will let you write back any file to which you have |
| 359 | write permission. |
| 360 | If you don't have write permission, then you can only write the changed |
| 361 | version of the file to a \fIdifferent\fP file. |
| 362 | .IP |
| 363 | If you set the readonly option, |
| 364 | then \*E will pretend you don't have write permission to \fIany\fP file you edit. |
| 365 | It is useful when you really only mean to use \*E to look at a file, |
| 366 | not to change it. |
| 367 | This way you can't change it accidentally. |
| 368 | .IP |
| 369 | This option is normally off, unless you use the "view" alias of \*E. |
| 370 | "View" is like "vi" except that the readonly option is on. |
| 371 | .IP "remap" |
| 372 | The ":map" command allows you to convert one key sequence into another. |
| 373 | The remap option allows you to specify what should happen if portions of |
| 374 | that other sequence are also in the map table. |
| 375 | If remap is on, then those portions will also be mapped, just as if they |
| 376 | had been typed on the keyboard. |
| 377 | If remap is off, then the matching portions will not be mapped. |
| 378 | .IP |
| 379 | For example, if you enter the commands ":map A B" and ":map B C", |
| 380 | then when remap is on, A will be converted to C. |
| 381 | But when remap is off, A will be converted only to B. |
| 382 | .IP "report, re" |
| 383 | Commands in \*E may affect many lines. |
| 384 | For commands that affect a lot of lines, \*E will output a message saying |
| 385 | what was done and how many lines were affected. |
| 386 | This option allows you to define what "a lot of lines" means. |
| 387 | The default is 5, so any command which affects 5 or more lines will cause |
| 388 | a message to be shown. |
| 389 | .IP "ruler, ru" |
| 390 | This option is normally off. |
| 391 | If you turn it on, then \*E will constantly display the line/column numbers |
| 392 | of the cursor, at the bottom of the screen. |
| 393 | .IP "scroll, sc" |
| 394 | The ^U and ^D keys normally scroll backward or forward by half a screenful, |
| 395 | but this is adjustable. |
| 396 | The value of this option says how many lines those keys should scroll by. |
| 397 | If you invoke ^U or ^D with a count argument (for example, "33^D") then |
| 398 | this option's value is set to the count. |
| 399 | .IP "sections, se" |
| 400 | The [[ and ]] commands move the cursor backward or forward in increments of |
| 401 | 1 section. |
| 402 | Sections may be delimited by a { character in column 1 |
| 403 | (which is useful for C source code) |
| 404 | or by means of a text formatter's "dot" commands. |
| 405 | .IP |
| 406 | This option allows you to configure \*E to work with your text formatter's |
| 407 | "section" command, in exectly the same way that the paragraphs option makes |
| 408 | it work with the formatter's "paragraphs" command. |
| 409 | .IP "shell, sh" |
| 410 | When \*E forks a shell |
| 411 | (perhaps for the :! or :shell commands) |
| 412 | this is the program that is uses as a shell. |
| 413 | This is "/bin/sh" by default, |
| 414 | unless you have set the SHELL (or COMSPEC, for MS-DOS) environment variable, |
| 415 | it which case the default value is copied from the environment. |
| 416 | .IP "shiftwidth, sw" |
| 417 | The < and > commands shift text left or right by some uniform number of columns. |
| 418 | The shiftwidth option defines that "uniform number". |
| 419 | The default is 8. |
| 420 | .IP "showmatch, sm" |
| 421 | With showmatch set, |
| 422 | in input mode every time you hit one of )}], |
| 423 | \*E will momentarily move the cursor to the matching ({[. |
| 424 | .IP "showmode, smd" |
| 425 | In visual mode, it is easy to forget whether you're in the visual command mode |
| 426 | or input/replace mode. |
| 427 | Normally, the showmode option is off, and you haven't a clue as to which mode |
| 428 | you're in. |
| 429 | If you turn the showmode option on, though, a little message will appear in the |
| 430 | lower right-hand corner of your screen, telling you which mode you're in. |
| 431 | .IP "sidescroll, ss" |
| 432 | For long lines, \*E scrolls sideways. |
| 433 | (This is different from the real vi, |
| 434 | which wraps a single long line onto several rows of the screen.) |
| 435 | .IP |
| 436 | To minimize the number of scrolls needed, |
| 437 | \*E moves the screen sideways by several characters at a time. |
| 438 | The value of this option says how many characters' widths to scroll at a time. |
| 439 | .IP |
| 440 | Generally, the faster your screen can be redrawn, |
| 441 | the lower the value you will want in this option. |
| 442 | .IP "sync, sy" |
| 443 | If the system crashes during an edit session, then most of your work |
| 444 | can be recovered from the temporary file that \*E uses to store |
| 445 | changes. |
| 446 | However, sometimes the OS will not copy changes to the |
| 447 | hard disk immediately, so recovery might not be possible. |
| 448 | The [no]sync option lets you control this. |
| 449 | .IP |
| 450 | In nosync mode (which is the default, for UNIX), \*E lets the operating system |
| 451 | control when data is written to the disk. |
| 452 | This is generally faster. |
| 453 | .IP |
| 454 | In sync mode (which is the default for MS-DOS, AmigaDos, and Atari TOS), |
| 455 | \*E forces all changes out |
| 456 | to disk every time you make a change. |
| 457 | This is generally safer, but slower. |
| 458 | It can also be a rather rude thing to do on a multi-user system. |
| 459 | .IP "tabstop, ts" |
| 460 | Tab characters are normally 8 characters wide, |
| 461 | but you can change their widths by means of this option. |
| 462 | .IP "taglength, tl" |
| 463 | This option allows you to specify how many characters of a tag's name |
| 464 | must match when performing tag lookup. |
| 465 | As a special case, ":set taglength=0" means that all characters of a tag's |
| 466 | name must match. |
| 467 | .IP |
| 468 | Note: some configurations of \*E don't support this option. |
| 469 | .IP "term, te" |
| 470 | This read-only option shows the name of the termcap entry that |
| 471 | \*E is using for your terminal. |
| 472 | .IP "terse, tr" |
| 473 | The real vi uses this option to select longer vs. shorter error messages. |
| 474 | \*E has only one set of error messages, though, so this option has no effect. |
| 475 | .IP "timeout, to" |
| 476 | The command ":set notimeout" is equivelent to ":set keytime=0", |
| 477 | and ":set timeout" is equivelent to ":set keytime=1". |
| 478 | This affects the behaviour of the <Esc> key. |
| 479 | See the discussion of the "keytime" option for more information. |
| 480 | .IP "warn, wa" |
| 481 | If you have modified a file but not yet written it back to disk, then |
| 482 | \*E will normally print a warning before executing a ":!cmd" command. |
| 483 | However, in nowarn mode, this warning is not given. |
| 484 | .IP |
| 485 | \*E also normally prints a message after a successful search that |
| 486 | wrapped at EOF. |
| 487 | The [no]warn option can also disable this warning. |
| 488 | .IP "window, wi" |
| 489 | This option controls how many lines are redrawn after a long move. |
| 490 | .IP |
| 491 | On fast terminals, this is usually set to the number of rows that the |
| 492 | terminal can display, minus one. |
| 493 | This causes the entire screen to be filled with text around the cursor. |
| 494 | .IP |
| 495 | On slow terminals, you may wish to reduce this value to about 7 or so. |
| 496 | That way, if you're doing something like repeatedly hitting 'n' to search |
| 497 | for each occurrence of some string and trying to find a particular occurrence, |
| 498 | then you don't need to wait as long for \*E to redraw the screen after each |
| 499 | search. |
| 500 | .IP "wrapmargin, wm" |
| 501 | Normally (with wrapmargin=0) \*E will let you type in extremely long |
| 502 | lines, if you wish. |
| 503 | .IP |
| 504 | However, with warpmargin set to something other that 0 (wrapmargin=10 |
| 505 | is nice), \*E will automatically cause long lines to be "wrapped" |
| 506 | on a word break for lines come too close to the right-hand margin. |
| 507 | For example: On an 80-column screen, ":set wm=10" will cause lines to |
| 508 | wrap when their length exceeds 70 columns. |
| 509 | .IP "wrapscan, ws" |
| 510 | Normally, when you search for something, \*E will find it no matter |
| 511 | where it is in the file. |
| 512 | \*E starts at the cursor position, and searches forward. |
| 513 | If \*E hits EOF without finding what you're looking for, |
| 514 | then it wraps around to continue searching from line 1. |
| 515 | If you turn off the wrapscan option (:se nows), |
| 516 | then when \*E hits EOF during a search, it will stop and say so. |
| 517 | .IP "writeany, wr" |
| 518 | With "writeany" turned off, elvis will prevent you from accidentally |
| 519 | overwriting a file. |
| 520 | For example, if "foo" exists then ":w foo" will fail. |
| 521 | If you turn on the "writeany" option, then ":w foo" will work. |
| 522 | .IP |
| 523 | Regardless of the setting of "writeany", though, ":w! foo" will work. |
| 524 | The '!' forces the ":w" command to write the file unless the operating system |
| 525 | won't allow it. |