Mercurial > vim
annotate runtime/doc/version4.txt @ 13237:ffad83212c90
Added tag v8.0.1492 for changeset fee03d646e42cd0b3f9d0a157a1700da5aa5297d
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 10 Feb 2018 15:45:07 +0100 |
parents | 9f48eab77d62 |
children | 1174611ad715 |
rev | line source |
---|---|
10198
9f48eab77d62
commit https://github.com/vim/vim/commit/bb76f24af2010943387ce696a7092175b4ecccf2
Christian Brabandt <cb@256bit.org>
parents:
5294
diff
changeset
|
1 *version4.txt* For Vim version 8.0. Last change: 2006 Apr 24 |
7 | 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 successfully 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 | |
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 [This was removed again later] |-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 behavior, | |
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_old* | |
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:tw=78:ts=8:ft=help:norl: |