home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / vim53os2.zip / vim-5.3 / doc / version4.txt < prev    next >
Text File  |  1998-08-30  |  14KB  |  356 lines

  1. *version4.txt*  For Vim version 5.3.  Last modification: 1998 May 10
  2.  
  3.  
  4.           VIM REFERENCE MANUAL    by Bram Moolenaar
  5.  
  6.  
  7. This document lists the incompatible differences between Vim 3.0 and Vim 4.0.
  8. Although 4.0 is mentioned here, this is also for version 4.1, 4.2, etc..
  9.  
  10. This file is important for everybody upgrading from Vim 3.0.  Read it
  11. carefully to avoid unexpected problems.
  12.  
  13. 'backup' option default changed            |backup-changed|
  14. Extension for backup file changed        |backup-extension|
  15. Structure of swap file changed            |swapfile-changed|
  16. "-w scriptout" argument changed            |scriptout-changed|
  17. Backspace and Delete keys            |backspace-delete|
  18. Escape for | changed                |escape-bar|
  19. Key codes changed                |key-codes-changed|
  20. Terminal options changed            |termcap-changed|
  21. 'errorformat' option changed            |errorformat-changed|
  22. 'graphic' option gone                |graphic-option-gone|
  23. 'yankendofline' option gone            |ye-option-gone|
  24. 'icon' and 'title' default value changed    |icon-changed|
  25. 'highlight' option changed            |highlight-changed|
  26. 'tildeop' and 'weirdinvert' short names changed    |short-name-changed|
  27. Use of "v", "V" and "CTRL-V" in Visual mode    |use-visual-cmds|
  28. CTRL-B in Insert mode removed            |toggle-revins|
  29.  
  30.  
  31. 'backup' option default changed                *backup-changed*
  32. -------------------------------
  33.  
  34. The default value for 'backup' used to be on.  This resulted in a backup file
  35. being made when the original file was overwritten.
  36.  
  37. Now the default for 'backup' is off.  As soon as the writing of the file has
  38. succesfully finished, the backup file is deleted.  If you want to keep the
  39. backup file, set 'backup' on in your vimrc.  The reason for this change is
  40. that many people complained that leaving a backup file behind is not
  41. Vi-compatible.                        |'backup'|
  42.  
  43.  
  44. Extension for backup file changed            *backup-extension*
  45. ---------------------------------
  46.  
  47. The extension for the backup file used to be ".bak".  Since other programs
  48. also use this extension and some users make copies with this extension, it was
  49. changed to the less obvious "~".  Another advantage is that this takes less
  50. space, which is useful when working on a system with short file names.  For
  51. example, on MS-DOS the backup files for "longfile.c" and "longfile.h" would
  52. both become "longfile.bak"; now they will be "longfile.c~" and "longfile.h~".
  53.  
  54. If you prefer to use ".bak", you can set the 'backupext' option:
  55. >    :set bex=.bak                    |'backupext'|
  56.  
  57.  
  58. Structure of swap file changed                *swapfile-changed*
  59. ------------------------------
  60.  
  61. The contents of the swap file were extended with several parameters.  Vim
  62. stores the user name and other information about the edited file to make
  63. recovery more easy and to be able to know where the swap file comes from.  The
  64. first part of the swap file can now be understood on a machine with a
  65. different byte order or sizeof(int).  When you try to recover a file on such a
  66. machine, you will get an error message that this is not possible.
  67.  
  68. Because of this change, swap files cannot be exchanged between 3.0 and 4.0.
  69. If you have a swap file from a crashed session with 3.0, use Vim 3.0 to
  70. recover the file---don't use 4.0.            |swap-file|
  71.  
  72.  
  73. "-w scriptout" argument changed                *scriptout-changed*
  74. -------------------------------
  75.  
  76. "vim -w scriptout" used to append to the scriptout file.  Since this was
  77. illogical, it now creates a new file.  An existing file is not overwritten
  78. (to avoid destroying an existing file for those who rely on the appending).
  79.                             |-w|
  80.  
  81.  
  82. Backspace and Delete keys                *backspace-delete*
  83. -------------------------
  84.  
  85. In 3.0 both the delete key and the backspace key worked as a backspace in
  86. insert mode; they deleted the character to the left of the cursor.  In 4.0 the
  87. delete key has a new function: it deletes the character under the cursor, just
  88. like it does on the command-line.  If the cursor is after the end of the line
  89. and 'bs' is set, two lines are joined.            |<Del>| |i_<Del>|
  90.  
  91. In 3.0 the backspace key was always defined as CTRL-H and delete as CTRL-?.
  92. In 4.0 the code for the backspace and delete key is obtained from termcap or
  93. termlib, and adjusted for the "stty erase" value on Unix.  This helps people
  94. who define the erase character according to the keyboard they are working on.
  95.                             |<BS>| |i_<BS>|
  96.  
  97. If you prefer backspace and delete in Insert mode to have the old behaviour,
  98. put this line in your vimrc:
  99.  
  100.     inoremap ^? ^H
  101.  
  102. And you may also want to add these, to fix the values for <BS> and <Del>:
  103.  
  104.     set t_kb=^H
  105.     set t_kD=^?
  106.  
  107. (Enter ^H with CTRL-V CTRL-H and ^? with CTRL-V CTRL-? or <Del>.)
  108.  
  109. If the value for t_kb is correct, but the t_kD value is not, use the ":fixdel"
  110. command.  It will set t_kD according to the value of t_kb.  This is useful if
  111. you are using several different terminals.        |:fixdel|
  112.  
  113. When ^H is not recognized as <BS> or <Del>, it is used like a backspace.
  114.  
  115.  
  116. Escape for | changed                    *escape-bar*
  117. --------------------
  118.  
  119. When the 'b' flag is present in 'cpoptions', the backslash cannot be used to
  120. escape '|' in mapping and abbreviate commands, only CTRL-V can.  This is
  121. Vi-compatible.  If you work in Vi-compatible mode and had used "\|" to include
  122. a bar in a mapping, this needs to be replaced by "^V|".  See |:bar|.
  123.  
  124.  
  125. Key codes changed                    *key-codes-changed*
  126. -----------------
  127.  
  128. The internal representation of key codes has changed dramatically.  In 3.0 a
  129. one-byte code was used to represent a key.  This caused problems with
  130. different characters sets that also used these codes.  In 4.0 a three-byte
  131. code is used that cannot be confused with a character.        |key-notation|
  132.  
  133. If you have used the single-byte key codes in your vimrc for mappings, you
  134. will have to replace them with the 4.0 codes.  Instead of using the three-byte
  135. code directly, you should use the symbolic representation for this in <>.  See
  136. the table below.  The table also lists the old name, as it was used in the 3.0
  137. documentation.
  138.  
  139. The key names in <> can be used in mappings directly.  This makes it possible
  140. to copy/paste examples or type them literally.  The <> notation has been
  141. introduced for this |<>|.  The 'B' and '<' flags must not be present in
  142. 'cpoptions' to enable this to work |'cpoptions'|.
  143.  
  144. old name    new name      old code    old MS-DOS code    ~
  145.                 hex    dec    hex    dec    ~
  146. <ESC>        <Esc>
  147. <TAB>        <Tab>
  148. <LF>        <NL> <NewLine> <LineFeed>
  149. <SPACE>        <Space>
  150. <NUL>        <Nul>
  151. <BELL>        <Bell>
  152. <BS>        <BS> <BackSpace>
  153. <INSERT>    <Insert>
  154. <DEL>        <Del> <Delete>
  155. <HOME>        <Home>
  156. <END>        <End>
  157. <PAGE_UP>    <PageUp>
  158. <PAGE_DOWN>    <PageDown>
  159.  
  160. <C_UP>        <Up>        0x80    128    0xb0    176
  161. <C_DOWN>    <Down>        0x81    129     0xb1    177
  162. <C_LEFT>    <Left>        0x82    130     0xb2    178
  163. <C_RIGHT>    <Right>        0x83    131     0xb3    179
  164. <SC_UP>        <S-Up>        0x84    132     0xb4    180
  165. <SC_DOWN>    <S-Down>    0x85    133     0xb5    181
  166. <SC_LEFT>    <S-Left>    0x86    134     0xb6    182
  167. <SC_RIGHT>    <S-Right>    0x87    135     0xb7    183
  168.  
  169. <F1>        <F1>        0x88    136     0xb8    184
  170. <F2>        <F2>        0x89    137     0xb9    185
  171. <F3>        <F3>        0x8a    138     0xba    186
  172. <F4>        <F4>        0x8b    139     0xbb    187
  173. <F5>        <F5>        0x8c    140     0xbc    188
  174. <F6>        <F6>        0x8d    141     0xbd    189
  175. <F7>        <F7>        0x8e    142     0xbe    190
  176. <F8>        <F8>        0x8f    143     0xbf    191
  177. <F9>        <F9>        0x90    144     0xc0    192
  178. <F10>        <F10>        0x91    145     0xc1    193
  179.  
  180. <SF1>        <S-F1>        0x92    146     0xc2    194
  181. <SF2>        <S-F2>        0x93    147     0xc3    195
  182. <SF3>        <S-F3>        0x94    148     0xc4    196
  183. <SF4>        <S-F4>        0x95    149     0xc5    197
  184. <SF5>        <S-F5>        0x96    150     0xc6    198
  185. <SF6>        <S-F6>        0x97    151     0xc7    199
  186. <SF7>        <S-F7>        0x98    152     0xc8    200
  187. <SF8>        <S-F8>        0x99    153     0xc9    201
  188. <SF9>        <S-F9>        0x9a    154     0xca    202
  189. <SF10>        <S-F10>        0x9b    155     0xcb    203
  190.  
  191. <HELP>        <Help>        0x9c    156     0xcc    204
  192. <UNDO>        <Undo>        0x9d    157     0xcd    205
  193.  
  194.         (not used)    0x9e    158     0xce    206
  195.         (not used)    0x9f    159     0xcf    207
  196.  
  197.  
  198. Terminal options changed                *termcap-changed*
  199. ------------------------
  200.  
  201. The names of the terminal options have been changed to match the termcap names
  202. of these options.  All terminal options now have the name t_xx, where xx is
  203. the termcap name.  Normally these options are not used, unless you have a
  204. termcap entry that is wrong or incomplete, or you have set the highlight
  205. options to a different value.                |terminal-options|
  206.  
  207. Note that for some keys there is no termcap name.  Use the <> type of name
  208. instead, which is a good idea anyway.
  209.  
  210. Note that "t_ti" has become "t_mr" (invert/reverse output) and "t_ts" has
  211. become "t_ti" (init terminal mode).  Be careful when you use "t_ti"!
  212.  
  213. old name    new name    meaning        ~
  214. t_cdl        t_DL        delete number of lines        *t_cdl*
  215. t_ci        t_vi        cursor invisible        *t_ci*
  216. t_cil        t_AL        insert number of lines        *t_cil*
  217. t_cm        t_cm        move cursor
  218. t_cri        t_RI        cursor number of chars right    *t_cri*
  219. t_cv        t_ve        cursor visible            *t_cv*
  220. t_cvv        t_vs        cursor very visible        *t_cvv*
  221. t_dl        t_dl        delete line
  222. t_cs        t_cs        scroll region
  223. t_ed        t_cl        clear display            *t_ed*
  224. t_el        t_ce        clear line            *t_el*
  225. t_il        t_al        insert line            *t_il*
  226.         t_da        display may be retained above the screen
  227.         t_db        display may be retained below the screen
  228. t_ke        t_ke        put terminal out of keypad transmit mode
  229. t_ks        t_ks        put terminal in keypad transmit mode
  230. t_ms        t_ms        save to move cursor in highlight mode
  231. t_se        t_se        normal mode (undo t_so)
  232. t_so        t_so        shift out (standout) mode
  233. t_ti        t_mr        reverse highlight
  234. t_tb        t_md        bold mode            *t_tb*
  235. t_tp        t_me        highlight end            *t_tp*
  236. t_sr        t_sr        scroll reverse
  237. t_te        t_te        out of termcap mode
  238. t_ts        t_ti        into termcap mode        *t_ts*
  239. t_vb        t_vb        visual bell
  240. t_csc        t_CS        cursor is relative to scroll region *t_csc*
  241.  
  242. t_ku    t_ku    <Up>        arrow up
  243. t_kd    t_kd    <Down>        arrow down
  244. t_kr    t_kr    <Right>        arrow right
  245. t_kl    t_kl    <Left>        arrow left
  246. t_sku        <S-Up>        shifted arrow up        *t_sku*
  247. t_skd        <S-Down>    shifted arrow down        *t_skd*
  248. t_skr    t_%i    <S-Right>    shifted arrow right        *t_skr*
  249. t_skl    t_#4    <S-Left>    shifted arrow left        *t_skl*
  250. t_f1    t_k1    <F1>        function key 1            *t_f1*
  251. t_f2    t_k2    <F2>        function key 2            *t_f2*
  252. t_f3    t_k3    <F3>        function key 3            *t_f3*
  253. t_f4    t_k4    <F4>        function key 4            *t_f4*
  254. t_f5    t_k5    <F5>        function key 5            *t_f5*
  255. t_f6    t_k6    <F6>        function key 6            *t_f6*
  256. t_f7    t_k7    <F7>        function key 7            *t_f7*
  257. t_f8    t_k8    <F8>        function key 8            *t_f8*
  258. t_f9    t_k9    <F9>        function key 9            *t_f9*
  259. t_f10    t_k;    <F10>        function key 10            *t_f10*
  260. t_sf1        <S-F1>        shifted function key 1        *t_sf1*
  261. t_sf2        <S-F2>        shifted function key 2        *t_sf2*
  262. t_sf3        <S-F3>        shifted function key 3        *t_sf3*
  263. t_sf4        <S-F4>        shifted function key 4        *t_sf4*
  264. t_sf5        <S-F5>        shifted function key 5        *t_sf5*
  265. t_sf6        <S-F6>        shifted function key 6        *t_sf6*
  266. t_sf7        <S-F7>        shifted function key 7        *t_sf7*
  267. t_sf8        <S-F8>        shifted function key 8        *t_sf8*
  268. t_sf9        <S-F9>        shifted function key 9        *t_sf9*
  269. t_sf10        <S-F10>        shifted function key 10        *t_sf10*
  270. t_help    t_%1    <Help>        help key            *t_help*
  271. t_undo    t_&8    <Undo>        undo key            *t_undo*
  272.  
  273.  
  274. 'errorformat' option changed                *errorformat-changed*
  275. ----------------------------
  276.  
  277. 'errorformat' can now contain several formats, separated by commas.  The first
  278. format that matches is used.  The default values have been adjusted to catch
  279. the most common formats.                |errorformat|
  280.  
  281. If you have a format that contains a comma, it needs to be preceded with a
  282. backslash.  Type two backslashes, because the ":set" command will eat one.
  283.  
  284.  
  285. 'graphic' option gone                    *graphic-option-gone*
  286. ---------------------
  287.  
  288. The 'graphic' option was used to make the characters between <~> and 0xa0
  289. display directly on the screen.  Now the 'isprint' option takes care of this
  290. with many more possibilities.  The default setting is the same; you only need
  291. to look into this if you previously set the 'graphic' option in your vimrc.
  292.                             |'isprint'|
  293.  
  294.  
  295. 'yankendofline' option gone                *ye-option-gone*
  296. ---------------------------
  297.  
  298. The 'yankendofline' option has been removed.  Instead you can just use
  299.     :map Y y$
  300.  
  301.  
  302. 'icon' and 'title' default value changed        *icon-changed*
  303. ----------------------------------------
  304.  
  305. The 'title' option is now only set by default if the original title can be
  306. restored.  Avoids 'Thanks for flying Vim" titles.  If you want them anyway,
  307. put ":set title" in your vimrc.                |'title'|
  308.  
  309. The default for 'icon' now depends on the possibility of restoring the
  310. original value, just like 'title'.  If you don't like your icon titles to be
  311. changed, add this line to your vimrc:            |'icon'|
  312.     :set noicon
  313.  
  314.  
  315. 'highlight' option changed                *highlight-changed*
  316. --------------------------
  317.  
  318. The 'i' flag now means italic highlighting, instead of invert.  The 'r' flag
  319. is used for reverse highlighting, which is what 'i' used to be.  Normally you
  320. won't see the difference, because italic mode is not supported on most
  321. terminals and reverse mode is used as a fallback.    |'highlight'|
  322.  
  323. When an occasion is not present in 'highlight', use the mode from the default
  324. value for 'highlight', instead of reverse mode.
  325.  
  326.  
  327. 'tildeop' and 'weirdinvert' short names changed        *short-name-changed*
  328. -----------------------------------------------
  329.  
  330. Renamed 'to' (abbreviation for 'tildeop') to 'top'.    |'tildeop'|
  331. Renamed 'wi' (abbreviation for 'weirdinvert') to 'wiv'.    |'weirdinvert'|
  332.  
  333. This was done because Vi uses 'wi' as the short name for 'window' and 'to' as
  334. the short name for 'timeout'.  This means that if you try setting these
  335. options, you won't get an error message, but the effect will be different.
  336.  
  337.  
  338. Use of "v", "V" and "CTRL-V" in Visual mode        *use-visual-cmds*
  339. -------------------------------------------
  340.  
  341. In Visual mode, "v", "V", and "CTRL-V" used to end Visual mode.  Now this
  342. happens only if the Visual mode was in the corresponding type.  Otherwise the
  343. type of Visual mode is changed.  Now only ESC can be used in all circumstances
  344. to end Visual mode without doing anything.        |v_V|
  345.  
  346.  
  347. CTRL-B in Insert mode removed                *toggle-revins*
  348. -----------------------------
  349.  
  350. CTRL-B in Insert mode used to toggle the 'revins' option.  If you don't know
  351. this and accidentally hit CTRL-B, it is very difficult to find out how to undo
  352. it.  Since hardly anybody uses this feature, it is disabled by default.  If
  353. you want to use it, define RIGHTLEFT in feature.h before compiling. |'revins'|
  354.  
  355.  vim:ts=8:sw=8:tw=78:
  356.