📄 version5.txt
字号:
In X11 GUI, drawing part of the cursor obscured the text. Now the text isdrawn over the cursor, like when it fills the block. (Seibert)when started with "-c cmd -q errfile", the cursor would be left in line 1.Now a ":cc" is done after executing "cmd".":ilist" never ignored case, even when 'ignorecase' set."vim -r file" for a readonly file, then making a change, got ATTENTION messagein insert mode, display mixed up until <Esc> typed. Also don't give ATTENTIONmessage after recovering a file.The abbreviation ":ab #i #include" could not be removed.CTRL-L completion (longest common match) on command-line didn't work properlyfor case-insensitive systems (MS-DOS, Windows, etc.). (suggested by RichardKilgore).For terminals that can hide the cursor ("vi" termcap entry), resizing thewindow caused the cursor to disappear.Using an invalid mark in an Ex address didn't abort the command.When 'smarttab' set, would use 'shiftround' when inserting a TAB after aspace. Now it always rounds to a tabstop.Set '[ and '] marks for ":copy", ":move", ":append", ":insert", ":substitute"and ":change". (Acevedo)."d$" in an empty line still caused an error, even when 'E' is not in'cpoptions'.Help files were stored in the viminfo buffer list without a path.GUI: Displaying cursor was not synchronized with other displaying. Causedseveral display errors. For example, when the last two lines in the filestart with spaces, "dd" on the last line copied text to the (then) last line.Win32: Needed to type CTRL-SHIFT-- to get CTRL-_.GUI: Moving the cursor forwards over bold text would remove one column of boldpixels.X11 GUI: When a bold character in the last column was scrolled up or down, onecolumn of pixels would not be copied.Using <BS> to move the cursor left can sometimes erase a character. Now use"le" termcap entry for this.Keyword completion with regexp didn't work. e.g., for "b.*crat".Fixed: With CTRL-O that jumps to another file, cursor could end up just afterthe line.Amiga: '$' was missing from character recognized as wildcards, causing $VIMsometimes not to be expanded.":change" didn't adjust marks for deleted lines.":help [range]" didn't work. Also for [pattern], [count] and [quotex].For 'cindent'ing, typing "class::method" doesn't align like a label when thesecond ':' is typed.When inserting a CR with 'cindent' set (and a bunch of other conditions) thecursor went to a wrong location.'cindent' was wrong for a line that ends in '}'.'cindent' was wrong after "else {".While editing the cmdline in the GUI, could not use the mouse to select textfrom the command-line itself.When deleting lines, marks in tag stack were only adjusted for the currentwindow, not for other windows on the same buffer.Tag guessing could find a function "some_func" instead of the "func" we werelooking for.Tags file name relative to the current file didn't work.":g/pat2/s//pat2/g", causing the number of subs to be reported, used to causea scroll up. Now you no longer have to hit <CR>.X11 GUI: Selecting text could cause a crash.32 bit DOS version: CTRL-C in external command killed Vim. When SHELL is setto "sh.exe", external commands didn't work. Removed using of command.com, nolonger need to set 'shellquote'.Fixed crash when using ":g/pat/i".Fixed (potential) crash for X11 GUI, when using an X selection. Was giving apointer on the stack to a callback function, now it's static.Using "#" and "*" with an operator didn't work. E.g. "c#".Command-line expansion didn't work properly after ":*". (Acevedo)Setting 'weirdinvert' caused highlighting to be wrong in the GUI.":e +4 #" didn't work, because the "4" was in unallocated memory (could causea crash).Cursor position was wrong for ":e #", after ":e #" failed, because of changesto the buffer.When doing ":buf N", going to a buffer that was edited with ":view", thereadonly flag was reset. Now make a difference between ":e file" and ":buffile": Only set/reset 'ro' for the first one.Avoid |hit-return| prompt when not able to write viminfo on exit.When giving error messages in the terminal where the GUI was started, GUIescape codes would be written to the terminal. In an xterm this could be seenas a '$' after the message.Mouse would not work directly after ":gui", because full_screen isn't set,which causes starttermcap() not to do its work.'incsearch' did not scroll the window in the same way as the actual search.When 'nowrap' set, incsearch didn't show a match when it was off the side ofthe screen. Now it also shows the whole match, instead of just the cursorposition (if possible).":unmap", ":unab" and ":unmenu" did not accept a double quote, it was seen asthe start of a comment. Now it's Vi compatible.Using <Up><Left><Left><Up> in the command-line, when there is no previouscmdline in the history, inserted a NUL on the command-line."i<Esc>" when on a <Tab> in column 0 left the cursor in the wrong place.GUI Motif: When adding a lot of menu items, the menu bar goes into two rows.Deleting menu items, reducing the number of rows, now also works.With ":g/pat/s//foo/c", a match in the first line was scrolled off of thescreen, so you could not see it.When using ":s//c", with 'nowrap' set, a match could be off the side of thescreen, so you could not see it.When 'helpfile' was set to a fixed, non-absolute path in feature.h, Vim wouldcrash. mch_Fullname can now handle file names in read-only memory. (Lottem)When using CTRL-A or CTRL-@ in Insert mode, there could be strange effectswhen using CTRL-D next. Also, when repeating inserted text that included "0CTRL-D" or "^ CTRL-D" this didn't work. (Acevedo)Using CTRL-D after using CTRL-E or CTRL-Y in Insert mode that inserted a '0'or '^', removed the '0' or '^' and more indent.The command "2".p" caused the last inserted text to be executed as commands.(Acevedo)Repeating the insert of "CTRL-V 048" resulted in "^@" to be inserted.Repeating Insert completion could fail if there are special characters in thetext. (Acevedo)":normal /string<CR>" caused the window to scroll. Now all ":normal" commandsare executed without scrolling messages.Redo of CTRL-E or CTRL-Y in Insert mode interpreted special characters ascommands.Line wrapping for 'tw' was done one character off for insert expansioninserts.buffer_exists() function didn't work properly for buffer names with a symboliclink in them (e.g. when using buffer_exists(#)).Removed the "MOTIF_COMMENT" construction from Makefile. It now works withFreeBSD make, and probably with NeXT make too.Matching the 'define' and 'include' arguments now honor the settings for'ignorecase'. (Acevedo)When one file shown in two windows, Visual selection mixed up cursor positionin current window and other window.When doing ":e file" from a help file, the 'isk' option wasn't reset properly,because of a modeline in the help file.When doing ":e!", a cursor in another window on the same buffer could becomeinvalid, leading to "ml_get: invalid lnum" errors.Matching buffer name for when expanded name has a different path from notexpanded name (Brugnara).Normal mappings didn't work after an operator. For example, with ":map Q gq","QQ" didn't work.When ":make" resulted in zero errors, a "No Errors" error message was given(which breaks mappings).When ":sourcing" a file, line length was limited to 1024 characters. CTRL-Vbefore <EOL> was not handled Vi compatible. (Acevedo)Unexpected exit for X11 GUI, caused by SAVE_YOURSELF event. (Heimann)CTRL-X CTRL-I only found one match per line. (Acevedo)When using an illegal CTRL-X key in Insert mode, the CTRL-X mode messagewas stuck.Finally managed to ignore the "Quit" menu entry of the Window manager! NowVim only exists when there are no changed buffers.Trying to start the GUI when $DISPLAY is not set resulted in a crash.When $DISPLAY is not set and gvim starts vim, title was restored to "Thanksfor flying Vim".When $DISPLAY not set, starting "gvim" (dropping back to vim) and thenselecting text with the mouse caused a crash."J", with 'joinspaces' set, on a line ending in ". ", caused one space toomany to be added. (Acevedo)In insert mode, a CTRL-R {regname} which didn't insert anything left the '"'on the screen.":z10" didn't work. (Clapp)"Help "*" didn't work.Renamed a lot of functions, to avoid clashes with POSIX name space.When adding characters to a line, making it wrap, the following lines weresometimes not shifted down (e.g. after a tag jump).CTRL-E, with 'so' set and cursor on last line, now does not move cursor aslong as the last line is on the screen.When there are two windows, doing "^W+^W-" in the bottom window could causethe status line to be doubled (not redrawn correctly).This command would hang: ":n `cat`". Now connect stdin of the externalcommand to /dev/null, when expanding.Fixed lalloc(0,) error for ":echo %:e:r". (Acevedo)The "+command" argument to ":split" didn't work when there was no file name.When selecting text in the GUI, which is the output of a command-line commandor an external command, the inversion would sometimes remain.GUI: "-mh 70" argument was broken. Now, when menuheight is specified, it isnot changed anymore.GUI: When using the scrollbar or mouse while executing an external command,this caused garbage characters.Showmatch sometimes jumped to the wrong position. Was caused by a call tofindmatch() when redrawing the display (when syntax highlighting is on).Search pattern "\(a *\)\{3} did not work correctly, also matched "a a".Problem with brace_count not being decremented.Wildcard expansion added too many non-matching file names.When 'iskeyword' contains characters like '~', "*" and "#" didn't workproperly. (Acevedo)On Linux, on a FAT file system, modification time can change by one second.Avoid a "file has changed" warning for a one second difference.When using the page-switching in an xterm, Vim would position the cursor onthe last line of the window on exit. Also removed the cursor positioning for":!" commands.":g/pat/p" command (partly) overwrote the command. Now the output is on aseparate line.With 'ic' and 'scs' set, a search for "Keyword", ignore-case matches werehighlighted too."^" on a line with only white space, put cursor beyond the end of the line.When deleting characters before where insertion started ('bs' == 2), could notuse abbreviations.CTRL-E at end of file puts cursor below the file, in Visual mode, when 'so' isnon-zero. CTRL-E didn't work when 'so' is big and the line below the windowwraps. CTRL-E, when 'so' is non-zero, at end of the file, caused jumpingup-down.":retab" didn't work well when 'list' is set.Amiga: When inserting characters at the last line on on the screen, causing itto wrap, messed up the display. It appears that a '\n' on the last linedoesn't always cause a scroll up.In Insert mode "0<C-D><C-D>" deleted an extra character, because Vim thoughtthat the "0" was still there. (Acevedo)"z{count}l" ignored the count. Also for "zh" et. al. (Acevedo)"S" when 'autoindent' is off didn't delete leading white space."/<Tab>" landed on the wrong character when 'incsearch' is set.Asking a yes/no question could cause a |hit-return| prompt.When the file consists of one long line (>4100 characters), making changescaused various errors and a crash.DJGPP version could not save long lines (>64000) for undo."yw" on the last char in the file didn't work. Also fixed "6x" at the end ofthe line. "6X" at the start of a line fails, but does not break a mapping. Ingeneral, a movement for an operator doesn't beep or flush a mapping, but whenthere is nothing to operate on it beeps (this is Vi compatible)."m'" and "m`" now set the '' mark at the cursor position.Unix: Resetting of signals for external program didn't work, because SIG_DFLand NULL are the same! For "!!yes|dd count=1|, the yes command kept onrunning.Partly fixed: Unix GUI: Typeahead while executing an external command was lost.Now it's not lost while the command is producing output.Typing <S-Tab> in Insert mode, when it isn't mapped, inserted "<S-Tab>". Nowit works like a normal <Tab>, just like <C-Tab> and <M-Tab>.Redrawing ruler didn't check for old value correctly (caused UMR warnings inPurify).Negative array index in finish_viminfo_history().":g/^/d|mo $" deleted all the lines. The ":move" command now removes the:global mark from the moved lines.Using "vG" while the last line in the window is a "@" line, didn't updatecorrectly. Just the "v" showed "~" lines."daw" on the last char of the file, when it's a space, moved the cursor beyondthe end of the line.When 'hlsearch' was set or reset, only the current buffer was redrawn, whilethis affects all windows.CTRL-^, positioning the cursor somewhere from 1/2 to 1 1/2 screen down thefile, put the cursor at the bottom of the window, instead of halfway.When scrolling up for ":append" command, not all windows were updatedcorrectly.When 'hlsearch' is set, and an auto-indent is highlighted, pressing <Esc>didn't remove the highlighting, although the indent was deleted.When 'ru' set and 'nosc', using "$j" showed a wrong ruler.Under Xfree 3.2, Shift-Tab didn't work (wrong keysym is used).Mapping <S-Tab> didn't work. Changed the key translations to use the shortest
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -