home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / elvis184.zip / doc / options.ms < prev    next >
Text File  |  1995-05-26  |  25KB  |  575 lines

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