home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume37 / vim / part19 < prev    next >
Encoding:
Text File  |  1993-04-23  |  43.5 KB  |  1,094 lines

  1. Newsgroups: comp.sources.misc
  2. From: mool@oce.nl (Bram Moolenaar)
  3. Subject: v37i019:  vim - Vi IMitation editor v1.27, Part19/24
  4. Message-ID: <1993Apr25.013757.23196@sparky.imd.sterling.com>
  5. X-Md4-Signature: 65c3ac487d38679e2c9aa3a7cd5abe95
  6. Date: Sun, 25 Apr 1993 01:37:57 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: mool@oce.nl (Bram Moolenaar)
  10. Posting-number: Volume 37, Issue 19
  11. Archive-name: vim/part19
  12. Environment: UNIX, AMIGA, MS-DOS
  13.  
  14. #! /bin/sh
  15. # This is a shell archive.  Remove anything before this line, then unpack
  16. # it by saving it into a file and typing "sh file".  To overwrite existing
  17. # files, type "sh file -c".  You can also feed this as standard input via
  18. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  19. # will see the following message at the end:
  20. #        "End of archive 19 (of 23)."
  21. # Contents:  vim/doc/reference.doc3
  22. # Wrapped by mool@oce-rd2 on Mon Apr 19 15:50:13 1993
  23. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  24. if test -f 'vim/doc/reference.doc3' -a "${1}" != "-c" ; then 
  25.   echo shar: Will not clobber existing file \"'vim/doc/reference.doc3'\"
  26. else
  27. echo shar: Extracting \"'vim/doc/reference.doc3'\" \(41128 characters\)
  28. sed "s/^X//" >'vim/doc/reference.doc3' <<'END_OF_FILE'
  29. X
  30. X:![!]{cmd} [!][arg]    Execute {cmd} with the shell. The optional bangs are
  31. X            replaced with the previously given command. The 
  32. X            optional [arg] is appended. See also the 'shell' and 
  33. X            'shelltype' option.
  34. X
  35. X:ve[rsion]        Print the version number of the editor.
  36. X
  37. XK            Run a program to lookup the identifier under the 
  38. X            cursor. The name of the program is given with the 
  39. X            'keywordprg' (kp) option. The identifier is formed 
  40. X            of letters, numbers and the underscore. The 
  41. X            identifier under or right of the cursor is used. The 
  42. X            same can be done with the command
  43. X                ":!{program} {identifier}". 
  44. X            {not in Vi}
  45. X
  46. X
  47. X    15. Repeating commands
  48. X
  49. X15.1 Single repeats
  50. X
  51. X.            Repeat last change with count replaced by [cnt].
  52. X
  53. XSimple changes can be repeated with the '.' command. Without a count, the 
  54. Xcount of the last change is used. If you enter a count, it will replace the 
  55. Xlast one. If the last change included a specification of a numbered 
  56. Xregister, the register number will be incremented. See the section on undo 
  57. Xand redo for an example how to use this.
  58. X
  59. X
  60. X15.2 Multiple repeats
  61. X
  62. X:[range]g[lobal]/{pattern}/[cmd]
  63. X            Execute the Ex command [cmd] (default ":p") on the
  64. X            lines within [range] where {pattern} matches.
  65. X
  66. X:[range]g[lobal]!/{pattern}/[cmd]
  67. X            Execute the Ex command [cmd] (default ":p") on the
  68. X            lines within [range] where {pattern} does NOT match.
  69. X
  70. X:[range]v[global]/{pattern}/[cmd]
  71. X            Same as :g!.
  72. X
  73. XThe global commands work by first scanning through the [range] lines and
  74. Xmarking each line where a match occurs. In a second scan the [cmd] is 
  75. Xexecuted for each marked line with its line number prepended. If a line is 
  76. Xchanged or deleted its mark disappears. The default for [range] is the whole 
  77. Xbuffer (1,$). Use "CTRL-C" to interrupt the command.
  78. X
  79. XTo repeat a non-Ex command, you will have to put the command in a file and 
  80. Xuse "source!". For example:
  81. X    :g/pat/so! scriptfile
  82. XMake sure that the scriptfile ends with a whole command, otherwise Vim will 
  83. Xwait for you to type the rest of the command for each match. The screen will 
  84. Xnot have been updated, so you don't know what you are doing.
  85. X    
  86. XThe undo/redo command will undo/redo the whole global command at once.
  87. X
  88. X
  89. X15.3 Complex repeats
  90. X
  91. Xv<a-zA-Z>        Record typed characters into named register <a-zA-Z>
  92. X            (uppercase to append).
  93. X
  94. Xv            Stops recording. {Vi: no recording}
  95. X
  96. X@<a-z>            Execute the contents of named register <a-z> [cnt]
  97. X            times.
  98. X
  99. X@@            Repeat the previous @<a-z> [cnt] times.
  100. X
  101. X:@<a-z>            Execute the contents of named register <a-z> as an 
  102. X            Ex command. {Vi: only in some versions}
  103. X
  104. X:@@            Repeat the previous :@<a-z>. {Vi: only in some 
  105. X            versions}
  106. X
  107. X:so[urce] {file}    Read Ex commands from {file}.
  108. X
  109. X:so[urce]! {file}    Read VIM commands from {file}. {not in Vi}
  110. X
  111. XAll commands and command sequences can be repeated by putting them in a named
  112. Xregister and then executing it. There are two ways to get the commands in the
  113. Xregister:
  114. X- Use the record command. You type the commands once, and while they are 
  115. X  being executed they are stored in a register. Easy, because you can see 
  116. X  what you are doing. If you make a mistake, 'put' the register into the 
  117. X  file, edit the command sequence, and then delete it into the register 
  118. X  again. You can continue recording by appending to the register (use an 
  119. X  uppercase letter).
  120. X- Delete or yank the command sequence into the register.
  121. X
  122. XOften used command sequences can be put under a function key with the ':map'
  123. Xcommand.
  124. X
  125. XAn alternative is to put the commands in a file, and execute them with the
  126. X':source!' command. Useful for long command sequences. Can be combined with 
  127. Xthe ':map' command to put complicated commands under a funcion key.
  128. X
  129. XThe ':source' command reads Ex commands from a file line by line. You will 
  130. Xhave to type any needed keyboard input. The ':source!' command reads from a 
  131. Xscript file character by character, interpreting each character as if you 
  132. Xtyped it.
  133. X
  134. XExample: When you give the ":!ls" command you are asked to "hit return to
  135. Xcontinue". If you ':source' a file with the line "!ls" in it, you will have 
  136. Xto type the return yourself. But if you ':source!' a file with the line 
  137. X":!ls" in it, the next characters from that file are read until a <CR> is 
  138. Xfound. You will not have to type <CR> yourself, unless ":!ls" was the last 
  139. Xline in the file.
  140. X
  141. XIt is possible to put ':source[!]' commands in the script file, so you can 
  142. Xmake a top-down hierachy of script files. The ':source' command can be 
  143. Xnested as deep as the number of files that can be opened at one time (about 
  144. X15). The ':source!' command can be nested up to 15 levels deep.
  145. X
  146. XIn script files terminal-dependent key codes are represented by 
  147. Xterminal-independent single character codes:
  148. X
  149. X    code    hex    meaning
  150. X
  151. X    128    0x80    up-arrow
  152. X    129    0x81    down-arrow
  153. X    130    0x82    left-arrow
  154. X    131    0x83    right-arrow
  155. X    132    0x84    shift up-arrow
  156. X    133    0x85    shift down-arrow
  157. X    134    0x86    shift left-arrow
  158. X    135    0x87    shift right-arrow
  159. X
  160. X    136    0x88    function key 1
  161. X    137    0x89    function key 2
  162. X    138    0x8a    function key 3
  163. X    139    0x8b    function key 4
  164. X    140    0x8c    function key 5
  165. X    141    0x8d    function key 6
  166. X    142    0x8e    function key 7
  167. X    143    0x8f    function key 8
  168. X    144    0x90    function key 9
  169. X    145    0x91    function key 10
  170. X
  171. X    146    0x92    shifted function key 1
  172. X    147    0x93    shifted function key 2
  173. X    148    0x94    shifted function key 3
  174. X    149    0x95    shifted function key 4
  175. X    150    0x96    shifted function key 5
  176. X    151    0x97    shifted function key 6
  177. X    152    0x98    shifted function key 7
  178. X    153    0x99    shifted function key 8
  179. X    154    0x9a    shifted function key 9
  180. X    155    0x9b    shifted function key 10
  181. X
  182. X    156    0x9c    help key
  183. X    157    0x9d    undo key
  184. X    158    0x9e    CTRL-@
  185. X
  186. X
  187. X    16. Undo and redo
  188. X
  189. X<UNDO>        or
  190. Xu            Undo [cnt] changes. {Vi: only one level}
  191. X
  192. X:u[ndo]            Undo one change. {Vi: only one level}
  193. X
  194. XCTRL-R            Redo [cnt] changes which were undone with 'u'. {Vi: 
  195. X            redraw screen}
  196. X
  197. XU            Undo all latest changes on one line. {Vi: while not
  198. X            moved off of it}
  199. X
  200. XThe last changes are remembered. You can go back in time with the 'u' 
  201. Xcommand. You can then go forward again with the 'CTRL-R' command. If you 
  202. Xmake a new change after the 'u' command, the 'CTRL-R' will not be possible 
  203. Xanymore. The number of changes that are remembered is set with the 
  204. X'undolevels' option. If it is zero, the old fashioned Vi undo is present: 
  205. Xone level of undo and undo undoes itself.
  206. X
  207. XThe 'U' command is treated by undo/redo just like any other command. Thus a 
  208. X'u' command undos a 'U' command and a 'CTRL-R' command redoes it again. When 
  209. Xmixing 'U', 'u' and 'CTRL-R' you will notice that the 'U' command will 
  210. Xrestore the situation of a line to before the previous 'U' command. This may 
  211. Xbe confusing. Try it out to get used to it.
  212. X
  213. XThe numbered registers can also be used for undoing deletes. Each time you 
  214. Xdelete text, it is put into register "1. The contents of register "1 is 
  215. Xshifted to "2, etc. The contents of register "9 is lost. You can now get 
  216. Xback the most recent deleted text with the put command: '"1P'. You can get 
  217. Xback the text of three deletes ago with '"3P'.
  218. X
  219. XIf you want to get back more than one part of deleted text, you can use a
  220. Xspecial feature of the repeat command '.'. It will increase the number of the
  221. Xregister used. So if you first do '"1P', the following '.' will result in a
  222. X'"2P'. Repeating this will result in all numbered registers to be inserted.
  223. X
  224. XExample:    If you deleted text with 'dd....' it can be restored with
  225. X        '"1P....'.
  226. X
  227. XIf you don't know in which register the deleted text is, you can use the
  228. X:display command. An alternative is to try the first register with '"1P', and
  229. Xif it is not what you want do 'u.'. This will result in the contents of the
  230. Xfirst put to be removed, and a repeat of the put command for the second
  231. Xregister. Repeat the 'u.' until you got what you want.
  232. X
  233. X
  234. X    17. Key mapping
  235. X
  236. X:map {lhs} {rhs}    Map the key sequence {lhs} to {rhs} in normal mode.
  237. X
  238. X:map! {lhs} {rhs}    Map the key sequence {lhs} to {rhs} in insert and
  239. X            command line mode.
  240. X
  241. X:noremap {lhs} {rhs}    Map the key sequence {lhs} to {rhs} in normal mode. 
  242. X            Disallow remapping of {rhs}. {not in Vi}
  243. X
  244. X:noremap! {lhs} {rhs}    Map the key sequence {lhs} to {rhs} in insert and
  245. X            command line mode. Disallow remapping of {rhs}. {not 
  246. X            in Vi}
  247. X
  248. X:unm[ap] {lhs}        Remove the mapping of {lhs} for normal mode.
  249. X
  250. X:unm[ap]! {lhs}        Remove the mapping of {lhs} for insert and command
  251. X            line mode.
  252. X
  253. X:map            List all key mappings for normal mode.
  254. X
  255. X:map!            List all key mappings for insert and command line
  256. X            mode.
  257. X
  258. X:map {lhs}        List the key mappings for the key sequences starting
  259. X            with {lhs} in normal mode.
  260. X
  261. X:map! {lhs}        List the key mappings for the key sequences starting
  262. X            with {lhs} in insert and command line mode.
  263. X
  264. XThese commands are used to map a key or key sequence to a string of 
  265. Xcharacters. You can use this to put command sequences under function keys, 
  266. Xtranslate one key into another, etc. See the "Options" chapter below for how 
  267. Xto save and restore the current mapping.
  268. X
  269. XEverything from the first non-blank after {lhs} upto the end of the line (or 
  270. X<|>) is considered to be part of {rhs}. This allows the {rhs} to end with a 
  271. Xspace.
  272. X
  273. XTo include a space in {lhs} precede it with a CTRL-V (type two CTRL-Vs for 
  274. Xeach space). If you want a {rhs} that starts with a space, precede {rhs} 
  275. Xwith a single CTRL-V (You have to type CTRL-V two times). You can create an 
  276. Xempty {rhs} by typing nothing after the two CTRL-Vs.
  277. X
  278. XIt is not possible to put a comment after this command, because the <"> 
  279. Xcharacter is considered to be part of the {rhs}. To put a <|> in {rhs} 
  280. Xescape it with a backslash or a CTRL-V (to get one CTRL-V you have to type 
  281. Xit twice).
  282. X
  283. XTo avoid mapping of the characters you type in insert or comand line mode, 
  284. Xtype a CTRL-V first.
  285. X
  286. XNote that the second character (argument) of the commands @zZtTfF[]rm'`"v is
  287. Xnot mapped. This was probably done to be able to use all the named registers
  288. Xand marks, even when the command with the same name has been mapped.
  289. X
  290. XSome examples (given as you type them; e.g. the "^V" is CTRL-V which you 
  291. Xtype, but will not show up on the screen):
  292. X
  293. X    :map g /foo^V^Mcwbar^V^[    (replace next "foo" by "bar")
  294. X    :map! qq quadrillion questions
  295. X
  296. XVim will compare what you type with the start of a mapped sequence. If there 
  297. Xis an incomplete match, it will get more characters until there either is a 
  298. Xcomplete match or until there is no match at all. Example: If you map! "qq", 
  299. Xthe first <q> will not appear on the screen until you type another 
  300. Xcharacter. This is because Vim cannot know if the next character will be a 
  301. X<q> or not. If you set the 'timeout' option (which is the default) Vim will 
  302. Xonly wait for one second. After that it assumes that the "q" is to be 
  303. Xinterpreted as such. If type slowly, or your system is slow, reset the 
  304. X'timeout' option. Then you might want to set the 'ttimeout' option. See the 
  305. X"Options" chapter.
  306. X
  307. XIf you want to exchange the meaning of two keys you should use the :noremap 
  308. Xcommand. For example:
  309. X    :noremap k j
  310. X    :noremap j k
  311. XThis will exchange the cursor up and down commands. With the normal :map 
  312. Xcommand, when the 'remap' option is set, mapping takes place until the text 
  313. Xis found not to be a part of a {lhs}. For example, if you use:
  314. X    :map x y
  315. X    :map y x
  316. XVim will replace x by y, and then y by x, etc. When this has happened 1000 
  317. Xtimes, Vim will give an error message.
  318. X
  319. XSee the file "index" for keys that are not used and thus can be mapped 
  320. Xwithout loosing any builtin function.
  321. X
  322. X
  323. X    18. Recovery after a crash.
  324. X
  325. XYou have spent several hours typing in that text that has to be finished
  326. Xnext morning, and then disaster strikes: Your computer crashes.
  327. X
  328. X            DON'T PANIC!
  329. X
  330. X
  331. X18.1 The autoscript file
  332. X
  333. XVim keeps track of everything you type. Using the original file you started
  334. Xfrom and the autoscript file you can recover (almost) all of your work.
  335. X
  336. XThe name of the autoscript file is the same as the file you are editing, 
  337. Xwith the extension ".vim". On MSDOS machines and when the 'shortname' option 
  338. Xis set, any '.' is replaced by '_'. If this file already exists (e.g. when 
  339. Xyou are recovering from a crash) a warning is given and another extention is 
  340. Xused, ".vil", ".vik", etc. An existing file will never be overwritten. The 
  341. Xfile is deleted as soon as the edited text is successfully written to disk.
  342. X
  343. XTechnical: The replacement of '.' by '_' is done to avoid problems with 
  344. X       MSDOS compatible filesystems (e.g. crossdos, multidos). If Vim is 
  345. X       able to detect that the file is on an MSDOS-like filesystem, a 
  346. X       flag is set that has the same effect as the 'shortname' option. 
  347. X       This flag is reset when you start editing another file.
  348. X
  349. X       If the ".vim" filename already exists, the last character is 
  350. X       decremented until there is no file with that name or ".via" is 
  351. X       reached. In the last case, no autoscript file is created.
  352. X
  353. XBy setting the 'directory' option you can place the file in another 
  354. Xplace than where the edited file is. It is adviced to put the autoscript 
  355. Xfiles on a "scratch" partition. This reduces the risc of damaging the
  356. Xpartition where the edited file is. You can also use a recoverable ram disk, 
  357. Xbut there is no 100% guarantee that this works. Putting it in RAM: makes no 
  358. Xsense, you will loose it in a crash. Put a command resembling the following 
  359. Xone in s:.exrc:
  360. X    :set dir=dh2:tmp/
  361. XThis is also very handy when editing files on floppy.
  362. X
  363. XThe autoscript file is updated after typing 100 characters or when you have 
  364. Xnot typed anything for two seconds. This only happens if the buffer was 
  365. Xchanged, not when you only moved around. The reason why it is not kept up to 
  366. Xdate all the time is that this would slow down normal work too much. You can 
  367. Xchange the 100 character count with the 'updatecount' option. You can set 
  368. Xthe time with the 'updatetime' option. The time is given in milliseconds.
  369. X
  370. XIf the writing to the autoscript file is not wanted, it can be switched off 
  371. Xby setting the 'updatecount' option to 0. The same is done when starting Vim 
  372. Xwith the "-n" or "-v" option. Writing can be switched back on by setting the 
  373. X'updatecount' option to non-zero. If you have changed the buffer when 
  374. Xswitching on, the autoscript file will be incomplete and recovery will 
  375. Xprobably fail. To avoid this write out the buffer with ":w" before switching 
  376. Xon the autoscript file.
  377. X
  378. X
  379. X18.2 Recovery
  380. X
  381. XIn most cases recovery is quite easy: start Vim on the same file you were
  382. Xediting when the crash happened, with the "-r" option added. Vim will start
  383. Xediting the file using the key strokes in the autoscript file. Be sure that 
  384. Xthe recovery was successful before overwriting the original file or deleting 
  385. Xthe autoscript file.
  386. X
  387. XExample:    vim -r reference.doc
  388. X
  389. XImportant: The .exrc file must be the same as with the original edit session,
  390. Xbecause some options have effect on the editing. Also the window size must be
  391. Xexactly the same, because the cursor movement resulting from some commands
  392. Xdepends on the window size (e.g. CTRL-F). To help you with that the window
  393. Xresizing events are written into the script file with ":winsize" commands. 
  394. XThe result of this command is that Vim will resize the used part of the 
  395. Xwindow, but the window itself will remain the same size. The commands will 
  396. Xbe executed correctly, but the window contents may look disturbed. During 
  397. Xnormal editing you should not use the ":winsize" command. Use the window 
  398. Xresizing gadget in the lower right corner of the window. Do not resize the 
  399. Xwindow during recovery!
  400. X
  401. XIn some cases the "-r" option does not result in successful recovery. This
  402. Xhappens when you executed a command that cannot be reproduced anymore. For
  403. Xexample: Reading a file which does not exist anymore. In such a case the
  404. Xsucceeding commands probably only make things worse. To solve this you will 
  405. Xhave to edit the autoscript file and remove the commands that cause errors. 
  406. XIf this becomes difficult try splitting up the autoscript file in small 
  407. Xpieces. {Vi: recovers in another way that has a larger change to succeed but 
  408. Xcauses more overhead}
  409. X
  410. XIf the autoscript file is not ending in ".vim" but in something else, you can
  411. Xuse the script reading option "-s {filename}". This will have (almost) the 
  412. Xsame effect as the "-r" option. This is also handy when the script file is 
  413. Xin another directory than expected.
  414. X
  415. XYou can give the "-r" option in combination with the "-s scriptin" option. 
  416. XThe scriptin file will be read first, then the autoscript file for recovery.
  417. X
  418. XThe difference between using the "-r" option and the "-s" option is that with
  419. Xthe "-r" option the name of the script file is made from the file name, and 
  420. Xthe last modification date is checked to see if the autoscript file is 
  421. Xnewer. This prevents the wrong autoscript file to be used for a recovery.
  422. X
  423. X
  424. X    19. Options
  425. X
  426. XVi has a number of internal variables and switches which can be set to 
  427. Xachieve special effects. These options come in three forms, those that are 
  428. Xswitches, which toggle from off to on and back, those that require a numeric 
  429. Xvalue, and those that require an alphanumeric string value.
  430. X
  431. X
  432. X19.1 Setting options
  433. X
  434. X:se[t]            Show all modified options. {Vi: non-default options}
  435. X
  436. X:se[t] all        Show all but terminal options.
  437. X
  438. X:se[t] termcap        Show all terminal options.
  439. X
  440. X:se[t] {option}        Set toggle option on, show value of string or number
  441. X            option.
  442. X
  443. X:se[t] no{option}    Set toggle option off.
  444. X
  445. X:se[t] inv{option}    Invert toggle option. {not in Vi}
  446. X
  447. X:se[t] {option}={value} Set string or number option to {value}.
  448. X
  449. X:se[t] {option}?    Show value of {option}.
  450. X
  451. XThe arguments to ":set" may be repeated. For example:
  452. X":set ai nosi sw=3 ts=3". If you make an error in one of the arguments an 
  453. Xerror message will be given and the text upto the next space will be 
  454. Xskipped. Thus following arguments will be processed.
  455. X
  456. XBesides changing options with the ":set" command, there are four 
  457. Xalternatives to set options automatically for one or more files. The first 
  458. Xand second ones are used for all files. The third is used to set options for 
  459. Xthe files in one directory. The last is used to set options for a single 
  460. Xfile. The first three are done when you start VIM, in the given order. The 
  461. Xlast is done whenever you start editing a new file.
  462. X
  463. X1. The environment variable VIMINIT is read for an Ex command. You can set
  464. X   VIMINIT to something like "set noai sw=3" to set options.
  465. X2. Only if there is no VIMINIT environment variable, the file 
  466. X   "s:.vimrc" is read for Ex commands. You can include set commands in this 
  467. X   file. (see below for how to automatically create a file with set commands).
  468. X3. If VIMINIT is not found and "s:.vimrc" does not exist, EXINIT is used, 
  469. X   in the same way as VIMINIT.
  470. X4. If VIMINIT is not found, "s:.vimrc" does not exist and EXINIT is not found, 
  471. X   the file "s:.exrc" is read for Ex commands.
  472. X5. The file ".vimrc" in the current directory is read for Ex commands. You 
  473. X   can include set commands in this file. If this file is not found the file 
  474. X   ".exrc" is tried.
  475. X6. If you start editing a new file, a number of lines at the beginning and
  476. X   end of the file are checked for the string "vi:" or "ex:". The text after 
  477. X   it is considered to be the arguments for a ":set" command, separated with 
  478. X   colons. For example: "vi:noai:sw=3".
  479. X   How many lines are checked depends on the 'modelines' option.
  480. X   The string "vi:" or "ex:" must be preceded with a blank or begin at the 
  481. X   start of a line. This minimizes the chance that a normal word like "lex:" 
  482. X   is catched. Note that all of the rest of the line is used, thus a line 
  483. X   like: "/* vi:ts=4: */" will give an error message for the trailing "*/".
  484. X
  485. X
  486. X19.2 Saving settings
  487. X
  488. X:mkexrc [file]        Write current key mappings and changed options to 
  489. X            [file] (default ".exrc"), unless it already exists. 
  490. X            {not in Vi}
  491. X
  492. X:mkexrc! [file]        Always write current key mappings and changed 
  493. X            options to [file] (default ".exrc"). {not in Vi}
  494. X
  495. X:mkvimrc[!] [file]    Same as :mkexrc, but default is ".vimrc". {not in 
  496. X            Vi}
  497. X
  498. XThese commands will write ":map" and ":set" commands to a file, in such a 
  499. Xway that when these commands are executed, the current key mappings and 
  500. Xoptions will be set again. A common method is to use a default ".exrc" file 
  501. Xby first reading one in with ":source s:.exrc.Cprogs", change the settings 
  502. Xand then save them in the current directory with ":mkexrc!".
  503. X
  504. X
  505. X19.3 Options summary
  506. X
  507. XIn the list below all the options are mentioned with their full name and some
  508. Xwith an abbreviation between brackets. Both forms may be used.
  509. X
  510. Xautoindent (ai)        toggle    (default off)
  511. X    Copy indent from current line when starting a new line (typing <CR> 
  512. X    in insert mode or when using the 'o' or 'O' command). If you do not 
  513. X    type anything on the new line except <BS> and then type <ESC> or 
  514. X    <CR>, the indent is deleted again. When autoindent is set, 
  515. X    formatting (with the 'V' command or when you reach 'textwidth' in 
  516. X    insert mode) uses the indent of the first line.
  517. X
  518. Xautowrite (aw)        toggle    (default off)
  519. X    Write the contents of the file, if it has been modified, on each
  520. X    :next, :rewind, :previous, :stop, :tag, :!, CTRL-] and CTRL-^ 
  521. X    command.
  522. X
  523. Xbackspace (bs)        number    (default 0)
  524. X    Influences the working of <BS>, <DEL>, CTRL-W and CTRL-U in insert 
  525. X    mode. If set to 0 Vi compatible backspacing is used. When 1 allow 
  526. X    backspacing over newlines. When larger than 1 allow backspacing over 
  527. X    the start of insert. In the last case CTRL-W and CTRL-U stop once at 
  528. X    the start of insert. {not in Vi}
  529. X
  530. Xbackup (bk)        toggle    (default on)
  531. X    Make a backup before overwriting a file. Leave it around after the 
  532. X    file has been succesfully written. If you do not want to keep the 
  533. X    backup file, but you do want a backup while it is being written, use 
  534. X    the 'writebackup' option. If you do not want a backup file at all 
  535. X    reset both options. {not in Vi}
  536. X
  537. Xbackupdir (bdir)    string    (default "~/")
  538. X    For Unix systems only. Name of the directory where the backup file 
  539. X    is put when it cannot be created in the same directory as the 
  540. X    original file. {not in Vi}
  541. X
  542. Xcolumns            number    (default 80)
  543. X    Number of columns in the display. Normally this is set by the 
  544. X    terminal initialization and does not have to be set by hand. {not in 
  545. X    Vi}
  546. X
  547. Xcompatible (cp)        toggle    (default off)
  548. X    At the moment this option is set, several other options will be set 
  549. X    or reset to make Vim vi-compatible. Switching this option off has no 
  550. X    effect. {not in Vi}
  551. X
  552. X    option        new value    effect
  553. X
  554. X    backspace    0        normal backspace
  555. X    backup        off        no backup file
  556. X    digraph        off        no digraphs
  557. X    expandtab    off        tabs not expanded to spaces
  558. X    history        0        no commandline history
  559. X    insertmode    off        do not start in insert mode
  560. X    joinspaces    on        insert 2 spaces after period
  561. X    modelines    0        no modelines
  562. X    repdel        on        in replace mode del deletes a char
  563. X    ruler        off        no ruler
  564. X    scrolljump    0        no jump scroll
  565. X    shiftround    off        indent not rounded to shiftwidth
  566. X    showcommand    off        command characters not shown
  567. X    showmode    off        current mode not shown
  568. X    smartindent    off        no smart indentation
  569. X    textwidth    9999        maximum text width
  570. X    tildeop        off        tilde is not an operator
  571. X    ttimeout    off        no terminal timeout
  572. X    undolevels    0        no multilevel undo
  573. X    updatecount    0        no autoscript file
  574. X    writebackup    off        no backup file written
  575. X    yankendofline    off        do not Yank to end of line
  576. X
  577. Xdigraph (dg)        toggle    (default off)
  578. X    Enable the entering of digraphs in input mode with {char1} <BS> 
  579. X    {char2}. Only works if Vim was compiled with digraphs enabled. {not 
  580. X    in Vi}
  581. X
  582. Xdirectory (dir)        string    (default "")
  583. X    Directory for the autoscript file. Empty means in same directory as 
  584. X    the edited file. The name must end in an ':' or '/'. {Vi: directory 
  585. X    to put temp file in, defaults to "/tmp"}
  586. X
  587. Xequalprg (ep)        string    (default "indent")
  588. X    External program to use for '=' command. {not in Vi}
  589. X
  590. Xerrorbells (eb)        toggle    (default off)
  591. X    Ring the bell for error messages. Does not work on the Amiga, you 
  592. X    always get a screen flash.
  593. X
  594. Xerrorfile (ef)        string    (default "AztecC.Err")
  595. X    Name of the error file for the QuickFix option (see 5.5). {not in 
  596. X    Vi}
  597. X
  598. Xexpandtab (et)        toggle    (default off)
  599. X    In insert mode: Use the appropriate number of spaces to insert a 
  600. X    <TAB>. {not in Vi}
  601. X
  602. Xgraphic (gr)        toggle    (default off, MSDOS: on)
  603. X    When off characters between '~' and 0xa0 are displayed as "~?", 
  604. X    "~@", "~A", etc.. When on the characters are sent to the display 
  605. X    directly. This will allow for graphic characters to be shown on some 
  606. X    terminals (e.g. MSDOS console) and mess up the display on others 
  607. X    (e.g. Amiga).
  608. X
  609. Xhelpfile (hf)        string    (default "vim:vim.hlp")
  610. X    Name of the help file. It may start with an environment variable. 
  611. X    For example: "$VIM/doc/vim.hlp". {not in Vi}
  612. X
  613. Xhistory (hi)        number    (default 20)
  614. X    Number of command lines that are remembered. {not in Vi}
  615. X
  616. Xignorecase (ic)        toggle    (default off)
  617. X    Ignore case in search patterns.
  618. X
  619. Xinsertmode (im)        toggle    (default off)
  620. X    Start the edit of a file in insert mode. {not in Vi}
  621. X
  622. Xjoinspaces (js)        toggle    (default on)
  623. X    Insert two spaces after a period with a join command. {not in Vi}
  624. X
  625. Xkeywordprg (kp)        string    (default "ref")
  626. X    Program to use for the 'K' command. {not in Vi}
  627. X
  628. Xlines            number    (default 25)
  629. X    Number of lines in the display. Normally you don't need to set this. 
  630. X    That is done automatically by the terminal initialization code.
  631. X
  632. Xlist            toggle    (default off)
  633. X    List mode: Show tabs as CTRL-I, show end of line with $. Useful to 
  634. X    see the difference between tabs and spaces and for trailing blanks.
  635. X
  636. Xmagic            toggle    (default on)
  637. X    Changes the special characters that can be used in search patterns. 
  638. X    See section "Pattern searches".
  639. X
  640. Xmodelines (ml)        number    (default 5)
  641. X    The number of lines that is checked for set commands. See 19.1. {not 
  642. X    in Vi}
  643. X
  644. Xnumber (nu)        toggle    (default off)
  645. X    Print the line number in front of each line.
  646. X
  647. Xparagraphs (para)    string    (default "IPLPPPQPP LIpplpipbp")
  648. X    Specifies the nroff macros that separate paragraphs. These are pairs 
  649. X    of two letters.
  650. X
  651. Xreadonly (ro)        toggle    (default off)
  652. X    If set, writes fail unless you use an !. Affects anything that writes
  653. X    to protect you from accidental overwriting a file. Default on when 
  654. X    vim is started in view mode ("vim -v").
  655. X
  656. Xremap            toggle    (default on)
  657. X    Allows for :map command to work recursively. If you do not want this 
  658. X    for a single entry, use the :noremap command.
  659. X
  660. Xrepdel (rd)        toggle    (default on)
  661. X    When on, <DEL>, <BS>, CTRL-W and CTRL-U in replace mode delete 
  662. X    characters. When off, only the cursor is moved, and no characters 
  663. X    are deleted. {not in Vi}
  664. X
  665. Xreport            number    (default 2)
  666. X    Threshold for reporting number of lines changed.
  667. X
  668. Xruler (ru)        toggle    (default off)
  669. X    Show the line number and column of the cursor in the status line, 
  670. X    separated by a comma. {not in Vi}
  671. X
  672. Xscroll            number    (default 12)
  673. X    Number of lines to scroll with CTRL-U and CTRL-D commands.
  674. X
  675. Xscrolljump        number    (default 1)
  676. X    Minimal number of lines to scroll when the cursor gets off the 
  677. X    screen (e.g. with 'j'). Not used for scroll commands (e.g. CTRL-E, 
  678. X    CTRL-D). Useful if your terminal scrolls very slow. {not in Vi}
  679. X
  680. Xsections        string    (default "SHNHH HUnhsh")
  681. X    Specifies the nroff macros that separate sections. These are pairs of
  682. X    two letters.
  683. X
  684. Xshell (sh)        string    (default "sh", MSDOS: "command")
  685. X    Name of the shell to use for ! and :! commands. See also the
  686. X    'shelltype' option. It is allowed to give an argument to the 
  687. X    command, e.g. "csh -f". If you type this in the command line you 
  688. X    will have to put a backslash in front of the space.
  689. X
  690. Xshelltype (st)        number    (default 0)
  691. X    On the Amiga this option influences the way how the commands work 
  692. X    which use a shell.
  693. X    0 and 1: always use the shell
  694. X    2 and 3: use the shell only to filter lines
  695. X    4 and 5: use shell only for ':sh' command
  696. X    When not using the shell, the command is executed directly.
  697. X
  698. X    0 and 2: use 'shell -c cmd' to start external commands
  699. X    1 and 3: use 'shell cmd' to start external commands
  700. X
  701. Xshiftround (sr)        toggle    (default off)
  702. X    Round indent to multiple of shiftwidth. Applies to > and < commands 
  703. X    and to CTRL-T and CTRL-D in insert mode. {not in Vi}
  704. X
  705. Xshiftwidth (sw)        number    (default 8)
  706. X    Number of spaces to use for (auto)indent.
  707. X
  708. Xshortname (sn)        toggle    (default off)
  709. X    Filenames can be 8 characters plus one extention of 3 characters. 
  710. X    Multiple dots in file names are not allowed. When this option is on, 
  711. X    dots in filenames are replaced by underscores when adding an 
  712. X    extention (".bak" or ".vim"). This option is not available for 
  713. X    MSDOS, because then it would always be on. This option is useful 
  714. X    when editing files on an MSDOS compatible filesystem, e.g. messydos 
  715. X    or crossdos. {not in Vi}
  716. X
  717. Xshowcmd (sc)        toggle    (default on)
  718. X    show command in status line. Set this option off if your terminal 
  719. X    is slow. {not in Vi}
  720. X
  721. Xshowmatch (sm)        toggle    (default off)
  722. X    When a bracket is inserted, briefly jump to the matching one.
  723. X
  724. Xshowmode (mo)        toggle    (default on)
  725. X    If in insert or replace mode, put a message on the last line.
  726. X
  727. Xsmartindent (si)    toggle    (default off)
  728. X    Do smart autoindenting in insert mode for C programs. Insert or 
  729. X    delete indents at appropriate places. {not in Vi}
  730. X
  731. Xsuffixes (su)        string    (default ".bak.o.h.info.vim")
  732. X    Files with these suffixes are ignored when multiple files match a
  733. X    wildcard.
  734. X
  735. Xtabstop (ts)        number    (default 8)
  736. X    Number of spaces that a <TAB> in the file counts for.
  737. X
  738. Xtaglength (tl)        number    (default 0)
  739. X    If non-zero, tags are significant upto this number of characters.
  740. X
  741. Xtags            string    (default "tags")
  742. X    Filenames for the tag command, separated by spaces. {Vi: default is 
  743. X    "tags /usr/lib/tags"}
  744. X
  745. Xterm            string    (default "amiga")
  746. X    Name of the terminal. Used for choosing the terminal control 
  747. X    characters.
  748. X
  749. Xterse            toggle    (default on)
  750. X    Ignored. {Vi: shorten the error messages}
  751. X
  752. Xtildeop (to)        toggle    (default off)
  753. X    The tilde command <~> behaves like an operator. {not in Vi}
  754. X
  755. Xtimeout            toggle (default on)
  756. Xttimeout        toggle (default off)
  757. X    These two options together determine the behaviour when part of a 
  758. X    mapped key sequence or keyboard code has been received:
  759. X
  760. X    timeout        ttimeout    action
  761. X    off        off        no time out
  762. X    on        on or off    time out on :mappings and key codes
  763. X    off        on        time out on key codes
  764. X
  765. X    If there is no time out, Vim will wait until either the complete 
  766. X    mapping or key sequence has been received, or it is clear that there 
  767. X    is no mapping or key sequence for the received characters. For 
  768. X    example: if you have mapped "vl" and Vim has received "v", the next 
  769. X    character is needed to see if the "v" is followed by an "l". With a 
  770. X    time out Vim will wait for about 1 second for the next character to 
  771. X    arrive. After that the already received characters are interpreted
  772. X    as single characters.
  773. X    On slow terminals or very busy systems time out may cause 
  774. X    malfunctioning cursor keys. If both options are off, Vim waits 
  775. X    forever after an entered <ESC> if there are key codes that start 
  776. X    with <ESC>. You will have to type <ESC> twice. If you do not have 
  777. X    problems with key codes, but would like to have :mapped key 
  778. X    sequences not time out in 1 second, set the ttimeout option and 
  779. X    reset the timeout option. {the ttimeout option is not in Vi}
  780. X
  781. Xtextwidth        number    (default 9999)
  782. X    Maximum width of text that is being inserted. A longer line will be
  783. X    broken after white space to get this width. {not in Vi}
  784. X
  785. Xundolevels (ul)        number    (default 100)
  786. X    Maximum number of changes that can be undone (set to 0 for Vi 
  787. X    compatibility). {not in Vi}
  788. X
  789. Xupdatecount (uc)    number    (default 100)
  790. X    After this many characters typed the auto script file will be written
  791. X    to disk. When zero the auto script will not be written to at all (see
  792. X    chapter on recovery). {not in Vi}
  793. X
  794. Xupdatetime (ut)        number    (default 2000)
  795. X    If this many milliseconds nothing is typed the auto script file will 
  796. X    be written to disk (see chapter on recovery). {not in Vi}
  797. X
  798. Xvisualbell (vb)        toggle    (default off)
  799. X    Use (sort of) visual bell for AUX device. {not in Vi}
  800. X
  801. Xwrapmargin (wm)        number    (default 0)
  802. X    Number of characters from the right window border where wrapping
  803. X    starts. In Vim this is implemented by setting textwidth to the window
  804. X    width minus the wrapmargin. {Vi: works differently and less useful}
  805. X
  806. Xwrapscan (ws)        toggle    (default on)
  807. X    Searches wrap around the end of the file.
  808. X
  809. Xwriteany (wa)        toggle    (default off)
  810. X    Do not check for allowance when writing files.
  811. X
  812. Xwritebackup (wb)    toggle    (default on)
  813. X    Make a backup before overwriting a file. The backup is removed after 
  814. X    the file was succesfully written, unless the 'backup' option is also 
  815. X    on. {not in Vi}
  816. X
  817. Xyankendofline (ye)    toggle    (default off)
  818. X    The Y command yanks from the cursor until the end of the line instead
  819. X    of whole lines. {not in Vi}
  820. X
  821. X
  822. X    20. Terminal information
  823. X
  824. XVim uses information about the terminal you are using to fill the screen and 
  825. Xrecognize what keys you hit. If this information is not correct the screen 
  826. Xmay be messed up or keys may not be recognized. The actions which have to be 
  827. Xperformed on the screen are accomplished by outputting a string of 
  828. Xcharacters. Special keys produce a string of characters. These strings are 
  829. Xstored in the terminal options, see section 20.2.
  830. X
  831. X
  832. X20.1 startup
  833. X
  834. XWhen Vim is started a default terminal type is assumed. For the Amiga this 
  835. Xis a standard CLI window, for MSDOS the pc terminal, for Unix an ansi 
  836. Xterminal. A few other terminal types are always available. Use the command 
  837. X"set term=xxx" to find out which ones are builtin.
  838. X
  839. XYou can give the terminal name with the '-T' command line option. If it is 
  840. Xnot given Vim will try to get the name from the TERM environment variable.
  841. X
  842. XOn Unix the termcap file is used. On Amiga and MSDOS this is only available 
  843. Xif Vim was compiled with TERMCAP defined. If the termcap code is included 
  844. XVim will try to get the strings for the terminal you are using from the 
  845. Xtermcap file.
  846. X
  847. XFor normal editing the terminal will be put into "raw" mode. The strings 
  848. Xdefined with "t_ts" and "t_ks" will be sent to the terminal. Normally this 
  849. Xputs the terminal in a state where the termcap codes are valid and activates 
  850. Xthe cursor and function keys. When Vim exits the terminal will be put back 
  851. Xinto the mode it was before Vim started. The strings defined with "t_te" and 
  852. X"t_ke" will be sent to the terminal. On the Amiga with commands that print 
  853. Xmultiple lines at the bottom of the screen or execute an external command 
  854. X(e.g. "!!", ":files") the terminal will be put into normal mode for a 
  855. Xmoment. This means that you can stop the output to the screen by hitting a 
  856. Xprinting key. Output resumes when you hit <BS>.
  857. X
  858. XSome termcap entries are wrong in the sense that after sending t_ks the 
  859. Xcursor keys send codes different from the codes defined in the termcap. To 
  860. Xavoid this you can set t_ks (and t_ke) to empty strings. This must be done 
  861. Xduring initialization (see 3.4), otherwise its too late.
  862. X
  863. XSome termcap entries assume that the highest bit is always reset. For 
  864. Xexample: The cursor-up entry for the amiga could be ":ku=\EA:". But the 
  865. XAmiga really sends "\233A". This works fine if the highest bit is reset, 
  866. Xe.g. when using an Amiga over a serial line. If the cursor keys don't work, 
  867. Xtry the entry ":ku=\233A:".
  868. X
  869. XSome termcap entries have the entry ":ku=\E[A:". But the Amiga really sends 
  870. X"\233A". On output "\E[" and "\233" are often equivalent, on input they 
  871. Xaren't. You will have to change the termcap entry, or change the key code 
  872. Xwith the :set command to fix this.
  873. X
  874. XMany cursor key codes start with an <ESC>. Vim must find out if this a 
  875. Xsingle hit of the <ESC> key or the start of a cursor key sequence. It waits 
  876. Xfor a next character to arrive. If it does not arrive within one second a 
  877. Xsingle <ESC> is assumed. On very slow systems this may fail, causing cursor 
  878. Xkeys not to work sometimes. If you discover this problem reset the 'timeout' 
  879. Xoption. Vim will wait for the next character to arrive after an <ESC>. If 
  880. Xyou want to enter a single <ESC> you must type it twice.
  881. X
  882. XOn the Amiga the regcognition of window resizing is activated only when the 
  883. Xterminal name is "amiga" or "builtin_amiga".
  884. X
  885. X
  886. X20.2 terminal options
  887. X
  888. XIt is always possible to change individual strings by setting the 
  889. Xappropriate option. For example:
  890. X
  891. X    :set t_el=^V^[[K    (CTRL-V, ESC, [, K)
  892. X
  893. XThe options are listed below along with the used termcap code. Two of them 
  894. Xare required: Cursor positioning and clear screen. The others are used to 
  895. Xminimize the screen updating overhead.
  896. X
  897. XYou can view the current codes with the command
  898. X
  899. X    :set termcap
  900. X
  901. X
  902. X    option    termcap        meaning
  903. X
  904. XOUTPUT CODES
  905. X    t_name    (name)    name of current terminal entry
  906. X    t_el    ce    clear to end of line
  907. X    t_il    al    add new blank line
  908. X    t_cil    AL    add number of blank lines
  909. X    t_dl    dl    delete line
  910. X    t_cdl    DL    delete number of lines
  911. X    t_ed    cl    clear screen (required!)
  912. X    t_ci    ci    highlight color
  913. X    t_cv    cv    normal color
  914. X    t_tp    me    normal mode
  915. X    t_ti    mr    reverse mode
  916. X    t_cm    cm    cursor motion (required!)
  917. X    t_sr    sr    scroll reverse (backward)
  918. X    t_cri    RI    cursor number of chars right
  919. X    t_vb    vb    visual bell
  920. X    t_ks    ks    put terminal in "keypad transmit" mode
  921. X    t_ke    ke    out of "keypad transmit" mode
  922. X    t_ts    ti    put terminal in "termcap" mode
  923. X    t_te    te    out of "termcap" mode
  924. X
  925. XKEY CODES
  926. X    t_ku    ku    arrow up
  927. X    t_kd    kd    arrow down
  928. X    t_kr    kr    arrow right
  929. X    t_kl    kl    arrow left
  930. X    t_sku    (none)    shift arrow up
  931. X    t_skd    (none)    shift arrow down
  932. X    t_skr    %i    shift arrow right
  933. X    t_skl    #4    shift arrow left
  934. X    t_f1    k1    function key 1
  935. X    t_f2    k2    function key 2
  936. X    t_f3    k3    function key 3
  937. X    t_f4    k4    function key 4
  938. X    t_f5    k5    function key 5
  939. X    t_f6    k6    function key 6
  940. X    t_f7    k7    function key 7
  941. X    t_f8    k8    function key 8
  942. X    t_f9    k9    function key 9
  943. X    t_f10    k;    function key 10
  944. X    t_sf1    F1    function key 11 or shifted function key 1
  945. X    t_sf2    F2    function key 12 or shifted function key 2
  946. X    t_sf3    F3    function key 13 or shifted function key 3
  947. X    t_sf4    F4    function key 14 or shifted function key 4
  948. X    t_sf5    F5    function key 15 or shifted function key 5
  949. X    t_sf6    F6    function key 16 or shifted function key 6
  950. X    t_sf7    F7    function key 17 or shifted function key 7
  951. X    t_sf8    F8    function key 18 or shifted function key 8
  952. X    t_sf9    F9    function key 19 or shifted function key 9
  953. X    t_sf10    FA    function key 20 or shifted function key 10
  954. X    t_help    %1    help key
  955. X    t_undo    &8    undo key
  956. X
  957. X
  958. X20.3 Window size
  959. X
  960. XIf you are running Vim on an Amiga and the terminal name is "amiga" or 
  961. X"builtin_amiga", the amiga-specific window resizing will be enabled. On Unix 
  962. Xsystems three methods are tried to get the window size:
  963. X
  964. X- the environment variables "LINES" and "COLUMNS"
  965. X- an ioctl call (TIOCGSIZE or TIOCGWINSZ, depends on your system)
  966. X- from the termcap entries "li" and "co"
  967. X
  968. XIf everything fails a default size of 24 lines and 80 columns is assumed. If 
  969. Xa window-resize signal is received the size will be set again. If the window 
  970. Xsize is wrong you can use the 'lines' and 'columns' options to set the 
  971. Xcorrect values.
  972. X
  973. X
  974. X20.4 slow and fast terminals
  975. X
  976. XIf you have a fast terminal you may like to set the 'ruler' option. The 
  977. Xcursor position is shown in the status line.
  978. X
  979. XIf you have a slow terminal you may want to reset the 'showcommand' option. 
  980. XThe command characters will not be shown in the status line. If the terminal 
  981. Xscrolls very slow, set the 'scrolljump' to 5 or so. If the cursor is moved 
  982. Xoff the screen (e.g. with 'j') Vim will scroll 5 lines at a time.
  983. X
  984. XIf the characters from the terminal are arriving with more than 1 second 
  985. Xbetween them you might want to set the 'timeout' and/or 'ttimeout' option. 
  986. XSee the "Options" chapter.
  987. X
  988. X
  989. X    21. Differences from Vi and Ex
  990. X
  991. XThis chapter only lists what has not been mentioned in previous chapters.
  992. X
  993. X21.1 Missing commands
  994. X
  995. XA large number of the "Ex" commands (the commands that start with a colon) 
  996. Xare included. However, there is no Ex mode. 
  997. X
  998. XThese commands are in Vi, but not in Vim.
  999. X
  1000. XQ            {Vi: go to Ex mode}
  1001. X
  1002. X:a[ppend]        {Vi: append text}
  1003. X:c[hange]        {Vi: replace lines}
  1004. X:i[nsert]        {Vi: insert text}
  1005. X:l[ist]            {Vi: list lines}
  1006. X:nu[mber]        {Vi: print specified lines with their line number}
  1007. X:o[pen]            {Vi: start editing in open mode}
  1008. X:pres[erve]        {Vi: emergency exit}
  1009. X:rec[over]        {Vi: recover a file after a crash or :preserve}
  1010. X:una[bbreviate]        {Vi: remove from abbreviation list}
  1011. X:vi[sual]        {Vi: switch from Ex or open to visual mode}
  1012. X:z            {Vi: print some lines}
  1013. X:~            {Vi: do a substitute on the previous regular
  1014. X            expression}
  1015. X
  1016. X
  1017. X21.2 Missing options
  1018. X
  1019. XThese options are in the unix Vi, but not in VIM.
  1020. X
  1021. Xautoprint (ap)        toggle    (default on)
  1022. Xbeautify (bf)        toggle    (default off)
  1023. Xedcompatible        toggle    (default off)
  1024. Xhardtabs (ht)        number    (default 8)
  1025. X    number of spaces that a <TAB> moves on the display
  1026. Xlisp            toggle    (default off)
  1027. Xmesg            toggle    (default on)
  1028. Xopen            toggle    (default on)
  1029. Xoptimize (op)        toggle    (default on)
  1030. Xprompt            toggle    (default on)
  1031. Xredraw            toggle    (default off)
  1032. Xslowopen (slow)        toggle    (default off)
  1033. Xwarn            toggle    (default on)
  1034. X    warn when the file has changed before a ! command
  1035. Xwindow            number    (default 24)
  1036. Xw300            number    (default 24)
  1037. Xw1200            number    (default 24)
  1038. Xw9600            number    (default 24)
  1039. X
  1040. X
  1041. X    22. Credits
  1042. X
  1043. XParts of this manual comes from several Vi manuals, written by:
  1044. X    W.N. Joy
  1045. X    Alan P.W. Hewett
  1046. X    Mark Horton
  1047. X
  1048. XThe editor VIM is based on Stevie and includes (ideas from) other software,
  1049. Xworked on by:
  1050. X    Tim Thompson        Stevie
  1051. X    Tony Andrews        Stevie
  1052. X    G. R. (Fred) Walter    Stevie
  1053. X    Henry Spencer        regular expressions
  1054. X    Steve Kirkendall    Elvis
  1055. X    Juergen Weigert        Lattice version, AUX improvements, UNIX and 
  1056. X                MSDOS ports
  1057. X    Olaf Seibert        DICE version and regexp improvements
  1058. X    Peter da Silva        termlib
  1059. X
  1060. XI must thank all the people that sent me bug reports and suggestions. 
  1061. XThey keep Vim alive!
  1062. Xvi:tw=76
  1063. END_OF_FILE
  1064. if test 41128 -ne `wc -c <'vim/doc/reference.doc3'`; then
  1065.     echo shar: \"'vim/doc/reference.doc3'\" unpacked with wrong size!
  1066. fi
  1067. # end of 'vim/doc/reference.doc3'
  1068. fi
  1069. echo shar: End of archive 19 \(of 23\).
  1070. cp /dev/null ark19isdone
  1071. MISSING=""
  1072. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ; do
  1073.     if test ! -f ark${I}isdone ; then
  1074.     MISSING="${MISSING} ${I}"
  1075.     fi
  1076. done
  1077. if test "${MISSING}" = "" ; then
  1078.     echo You have unpacked all 23 archives.
  1079.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1080. else
  1081.     echo You still need to unpack the following archives:
  1082.     echo "        " ${MISSING}
  1083. fi
  1084. ##  End of shell archive.
  1085. exit 0
  1086. -------------8<----------------8<----------------8<---------------8<--------
  1087. Bram Moolenaar                             | DISCLAIMER:  This  note  does  not
  1088. Oce Nederland B.V., Research & Development | necessarily represent the position
  1089. p.o. box 101, 5900 MA  Venlo               | of  Oce-Nederland  B.V.  Therefore
  1090. The Netherlands        phone +31 77 594077 | no liability or responsibility for
  1091. UUCP: mool@oce.nl        fax +31 77 595450 | whatever will be accepted.
  1092.  
  1093. exit 0 # Just in case...
  1094.