📄 version4.txt
字号:
*version4.txt* For Vim version 5.8. Last change: 1999 May 02 VIM REFERENCE MANUAL by Bram MoolenaarThis document lists the incompatible differences between Vim 3.0 and Vim 4.0.Although 4.0 is mentioned here, this is also for version 4.1, 4.2, etc..This file is important for everybody upgrading from Vim 3.0. Read itcarefully to avoid unexpected problems.'backup' option default changed |backup-changed|Extension for backup file changed |backup-extension|Structure of swap file changed |swapfile-changed|"-w scriptout" argument changed |scriptout-changed|Backspace and Delete keys |backspace-delete|Escape for | changed |escape-bar|Key codes changed |key-codes-changed|Terminal options changed |termcap-changed|'errorformat' option changed |errorformat-changed|'graphic' option gone |graphic-option-gone|'yankendofline' option gone |ye-option-gone|'icon' and 'title' default value changed |icon-changed|'highlight' option changed |highlight-changed|'tildeop' and 'weirdinvert' short names changed |short-name-changed|Use of "v", "V" and "CTRL-V" in Visual mode |use-visual-cmds|CTRL-B in Insert mode removed |toggle-revins|'backup' option default changed *backup-changed*-------------------------------The default value for 'backup' used to be on. This resulted in a backup filebeing made when the original file was overwritten.Now the default for 'backup' is off. As soon as the writing of the file hassuccessfully finished, the backup file is deleted. If you want to keep thebackup file, set 'backup' on in your vimrc. The reason for this change isthat many people complained that leaving a backup file behind is notVi-compatible. |'backup'|Extension for backup file changed *backup-extension*---------------------------------The extension for the backup file used to be ".bak". Since other programsalso use this extension and some users make copies with this extension, it waschanged to the less obvious "~". Another advantage is that this takes lessspace, which is useful when working on a system with short file names. Forexample, on MS-DOS the backup files for "longfile.c" and "longfile.h" wouldboth become "longfile.bak"; now they will be "longfile.c~" and "longfile.h~".If you prefer to use ".bak", you can set the 'backupext' option:> :set bex=.bak |'backupext'|Structure of swap file changed *swapfile-changed*------------------------------The contents of the swap file were extended with several parameters. Vimstores the user name and other information about the edited file to makerecovery more easy and to be able to know where the swap file comes from. Thefirst part of the swap file can now be understood on a machine with adifferent byte order or sizeof(int). When you try to recover a file on such amachine, you will get an error message that this is not possible.Because of this change, swap files cannot be exchanged between 3.0 and 4.0.If you have a swap file from a crashed session with 3.0, use Vim 3.0 torecover the file---don't use 4.0. |swap-file|"-w scriptout" argument changed *scriptout-changed*-------------------------------"vim -w scriptout" used to append to the scriptout file. Since this wasillogical, it now creates a new file. An existing file is not overwritten(to avoid destroying an existing file for those who rely on the appending). |-w|Backspace and Delete keys *backspace-delete*-------------------------In 3.0 both the delete key and the backspace key worked as a backspace ininsert mode; they deleted the character to the left of the cursor. In 4.0 thedelete key has a new function: it deletes the character under the cursor, justlike it does on the command-line. If the cursor is after the end of the lineand 'bs' is set, two lines are joined. |<Del>| |i_<Del>|In 3.0 the backspace key was always defined as CTRL-H and delete as CTRL-?.In 4.0 the code for the backspace and delete key is obtained from termcap ortermlib, and adjusted for the "stty erase" value on Unix. This helps peoplewho define the erase character according to the keyboard they are working on. |<BS>| |i_<BS>|If you prefer backspace and delete in Insert mode to have the old behavior,put this line in your vimrc: inoremap ^? ^HAnd you may also want to add these, to fix the values for <BS> and <Del>: set t_kb=^H set t_kD=^?(Enter ^H with CTRL-V CTRL-H and ^? with CTRL-V CTRL-? or <Del>.)If the value for t_kb is correct, but the t_kD value is not, use the ":fixdel"command. It will set t_kD according to the value of t_kb. This is useful ifyou are using several different terminals. |:fixdel|When ^H is not recognized as <BS> or <Del>, it is used like a backspace.Escape for | changed *escape-bar*--------------------When the 'b' flag is present in 'cpoptions', the backslash cannot be used toescape '|' in mapping and abbreviate commands, only CTRL-V can. This isVi-compatible. If you work in Vi-compatible mode and had used "\|" to includea bar in a mapping, this needs to be replaced by "^V|". See |:bar|.Key codes changed *key-codes-changed*-----------------The internal representation of key codes has changed dramatically. In 3.0 aone-byte code was used to represent a key. This caused problems withdifferent characters sets that also used these codes. In 4.0 a three-bytecode is used that cannot be confused with a character. |key-notation|If you have used the single-byte key codes in your vimrc for mappings, youwill have to replace them with the 4.0 codes. Instead of using the three-bytecode directly, you should use the symbolic representation for this in <>. Seethe table below. The table also lists the old name, as it was used in the 3.0documentation.The key names in <> can be used in mappings directly. This makes it possibleto copy/paste examples or type them literally. The <> notation has beenintroduced for this |<>|. The 'B' and '<' flags must not be present in'cpoptions' to enable this to work |'cpoptions'|.old name new name old code old MS-DOS code ~ hex dec hex dec ~<ESC> <Esc><TAB> <Tab><LF> <NL> <NewLine> <LineFeed><SPACE> <Space><NUL> <Nul><BELL> <Bell><BS> <BS> <BackSpace><INSERT> <Insert><DEL> <Del> <Delete><HOME> <Home><END> <End><PAGE_UP> <PageUp><PAGE_DOWN> <PageDown><C_UP> <Up> 0x80 128 0xb0 176<C_DOWN> <Down> 0x81 129 0xb1 177<C_LEFT> <Left> 0x82 130 0xb2 178<C_RIGHT> <Right> 0x83 131 0xb3 179<SC_UP> <S-Up> 0x84 132 0xb4 180<SC_DOWN> <S-Down> 0x85 133 0xb5 181<SC_LEFT> <S-Left> 0x86 134 0xb6 182<SC_RIGHT> <S-Right> 0x87 135 0xb7 183<F1> <F1> 0x88 136 0xb8 184<F2> <F2> 0x89 137 0xb9 185<F3> <F3> 0x8a 138 0xba 186<F4> <F4> 0x8b 139 0xbb 187<F5> <F5> 0x8c 140 0xbc 188<F6> <F6> 0x8d 141 0xbd 189<F7> <F7> 0x8e 142 0xbe 190<F8> <F8> 0x8f 143 0xbf 191<F9> <F9> 0x90 144 0xc0 192<F10> <F10> 0x91 145 0xc1 193<SF1> <S-F1> 0x92 146 0xc2 194<SF2> <S-F2> 0x93 147 0xc3 195<SF3> <S-F3> 0x94 148 0xc4 196<SF4> <S-F4> 0x95 149 0xc5 197<SF5> <S-F5> 0x96 150 0xc6 198<SF6> <S-F6> 0x97 151 0xc7 199<SF7> <S-F7> 0x98 152 0xc8 200<SF8> <S-F8> 0x99 153 0xc9 201<SF9> <S-F9> 0x9a 154 0xca 202<SF10> <S-F10> 0x9b 155 0xcb 203<HELP> <Help> 0x9c 156 0xcc 204<UNDO> <Undo> 0x9d 157 0xcd 205 (not used) 0x9e 158 0xce 206 (not used) 0x9f 159 0xcf 207Terminal options changed *termcap-changed*------------------------The names of the terminal options have been changed to match the termcap namesof these options. All terminal options now have the name t_xx, where xx isthe termcap name. Normally these options are not used, unless you have atermcap entry that is wrong or incomplete, or you have set the highlightoptions to a different value. |terminal-options|Note that for some keys there is no termcap name. Use the <> type of nameinstead, which is a good idea anyway.Note that "t_ti" has become "t_mr" (invert/reverse output) and "t_ts" hasbecome "t_ti" (init terminal mode). Be careful when you use "t_ti"!old name new name meaning ~t_cdl t_DL delete number of lines *t_cdl*t_ci t_vi cursor invisible *t_ci*t_cil t_AL insert number of lines *t_cil*t_cm t_cm move cursort_cri t_RI cursor number of chars right *t_cri*t_cv t_ve cursor visible *t_cv*t_cvv t_vs cursor very visible *t_cvv*t_dl t_dl delete linet_cs t_cs scroll regiont_ed t_cl clear display *t_ed*t_el t_ce clear line *t_el*t_il t_al insert line *t_il* t_da display may be retained above the screen t_db display may be retained below the screent_ke t_ke put terminal out of keypad transmit modet_ks t_ks put terminal in keypad transmit modet_ms t_ms save to move cursor in highlight modet_se t_se normal mode (undo t_so)t_so t_so shift out (standout) modet_ti t_mr reverse highlightt_tb t_md bold mode *t_tb*t_tp t_me highlight end *t_tp*t_sr t_sr scroll reverset_te t_te out of termcap modet_ts t_ti into termcap mode *t_ts_old*t_vb t_vb visual bellt_csc t_CS cursor is relative to scroll region *t_csc*t_ku t_ku <Up> arrow upt_kd t_kd <Down> arrow downt_kr t_kr <Right> arrow rightt_kl t_kl <Left> arrow leftt_sku <S-Up> shifted arrow up *t_sku*t_skd <S-Down> shifted arrow down *t_skd*t_skr t_%i <S-Right> shifted arrow right *t_skr*t_skl t_#4 <S-Left> shifted arrow left *t_skl*t_f1 t_k1 <F1> function key 1 *t_f1*t_f2 t_k2 <F2> function key 2 *t_f2*t_f3 t_k3 <F3> function key 3 *t_f3*t_f4 t_k4 <F4> function key 4 *t_f4*t_f5 t_k5 <F5> function key 5 *t_f5*t_f6 t_k6 <F6> function key 6 *t_f6*t_f7 t_k7 <F7> function key 7 *t_f7*t_f8 t_k8 <F8> function key 8 *t_f8*t_f9 t_k9 <F9> function key 9 *t_f9*t_f10 t_k; <F10> function key 10 *t_f10*t_sf1 <S-F1> shifted function key 1 *t_sf1*t_sf2 <S-F2> shifted function key 2 *t_sf2*t_sf3 <S-F3> shifted function key 3 *t_sf3*t_sf4 <S-F4> shifted function key 4 *t_sf4*t_sf5 <S-F5> shifted function key 5 *t_sf5*t_sf6 <S-F6> shifted function key 6 *t_sf6*t_sf7 <S-F7> shifted function key 7 *t_sf7*t_sf8 <S-F8> shifted function key 8 *t_sf8*t_sf9 <S-F9> shifted function key 9 *t_sf9*t_sf10 <S-F10> shifted function key 10 *t_sf10*t_help t_%1 <Help> help key *t_help*t_undo t_&8 <Undo> undo key *t_undo*'errorformat' option changed *errorformat-changed*----------------------------'errorformat' can now contain several formats, separated by commas. The firstformat that matches is used. The default values have been adjusted to catchthe most common formats. |errorformat|If you have a format that contains a comma, it needs to be preceded with abackslash. Type two backslashes, because the ":set" command will eat one.'graphic' option gone *graphic-option-gone*---------------------The 'graphic' option was used to make the characters between <~> and 0xa0display directly on the screen. Now the 'isprint' option takes care of thiswith many more possibilities. The default setting is the same; you only needto look into this if you previously set the 'graphic' option in your vimrc. |'isprint'|'yankendofline' option gone *ye-option-gone*---------------------------The 'yankendofline' option has been removed. Instead you can just use :map Y y$'icon' and 'title' default value changed *icon-changed*----------------------------------------The 'title' option is now only set by default if the original title can berestored. Avoids 'Thanks for flying Vim" titles. If you want them anyway,put ":set title" in your vimrc. |'title'|The default for 'icon' now depends on the possibility of restoring theoriginal value, just like 'title'. If you don't like your icon titles to bechanged, add this line to your vimrc: |'icon'| :set noicon'highlight' option changed *highlight-changed*--------------------------The 'i' flag now means italic highlighting, instead of invert. The 'r' flagis used for reverse highlighting, which is what 'i' used to be. Normally youwon't see the difference, because italic mode is not supported on mostterminals and reverse mode is used as a fallback. |'highlight'|When an occasion is not present in 'highlight', use the mode from the defaultvalue for 'highlight', instead of reverse mode.'tildeop' and 'weirdinvert' short names changed *short-name-changed*-----------------------------------------------Renamed 'to' (abbreviation for 'tildeop') to 'top'. |'tildeop'|Renamed 'wi' (abbreviation for 'weirdinvert') to 'wiv'. |'weirdinvert'|This was done because Vi uses 'wi' as the short name for 'window' and 'to' asthe short name for 'timeout'. This means that if you try setting theseoptions, you won't get an error message, but the effect will be different.Use of "v", "V" and "CTRL-V" in Visual mode *use-visual-cmds*-------------------------------------------In Visual mode, "v", "V", and "CTRL-V" used to end Visual mode. Now thishappens only if the Visual mode was in the corresponding type. Otherwise thetype of Visual mode is changed. Now only ESC can be used in all circumstancesto end Visual mode without doing anything. |v_V|CTRL-B in Insert mode removed *toggle-revins*-----------------------------CTRL-B in Insert mode used to toggle the 'revins' option. If you don't knowthis and accidentally hit CTRL-B, it is very difficult to find out how to undoit. Since hardly anybody uses this feature, it is disabled by default. Ifyou want to use it, define RIGHTLEFT in feature.h before compiling. |'revins'| vim:ts=8:sw=8:tw=78:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -