differences between VIM and vi (+ are features, - means that it should be modified in a next version of vim) In command mode: + The command characters are shown in the last line of the screen. + multi level undo! Set option 'undolines' to the number of changes to be remembered. 'u' goes backward in time, 'ctrl-R' goes forward again. Set 'undolines' to 0 for old-style undo. + U still works after having moved off of the last changed line and after u. + Unlimited line length (although you cannot see lines larger than the screen). + Nulls in the file are replaced by newlines internally. This allows editing of binary files. When searching for nulls, use a newline in the search pattern. + = is an operator to filter lines through indent (vi: lisp stuff). + ][ goes to the next ending of a C function ('}' in column 1). + [] goes to the previous ending of a C function ('}' in column 1). + * searches forward for the identifier under the cursor, # backward + CTRL-^ accepts a count for the alternate filename list + Search patterns include more wildcards ('\(', '\)', '\|', '\+', '\?'). + searches can find the end of a match and have a character offset. + ~ accepts a count. If option "tildeop" has been set, ~ is an operator (must be followed by a movement command). + cw can be used to change white space formed by several characters. + o and O accept a count for repeating the insert (vi: clear part of display). + v starts recording typed characters into named buffer 'c' (append to the buffer if upper case). A subsequent 'v' stops recording. The buffer can then be executed with the '@' command. This is very useful to repeat a complex action. In insert mode: + the backspace key can be used just like ^D to remove auto-indents + ^D can be used like backspace when not on an indent + ^T inserts a TAB when not on an indent + you can backspace and ^W over newlines! + when the smartindent (si) option is set, C programs will be better auto-indented. + ^R and ^E can be used to copy a character from above/below the current cursor position + wrapmargin replaced by the far more useful textwidth option In Ex command line mode and when entering search patterns: + the right/left cursor keys can be used to move forward/backward one character in the entered text. + the shifted right/left cursor keys can be used to move forward/backward one word in the entered text. + the up/down cursor keys can be used to recall previous command lines. + can be typed after a (incomplete) file name wildcard; the wildcard will be expanded (requires arp.library). + ^D can be typed after a (incomplete) file name wildcard; all matching files will be listed (requires arp.library). Ex commands: + :dis command shows the contents of the yank buffers + :files command shows the list of alternate filenames + #N means Nth alternate filename in the list - some Ex commands not supported yet - flags after command not supported (no plans to include it) + QuickFix commands included, almost the same as with Manx's Z editor. general: + If vim is started without an interactive window for output, a window is opened (and :sh still works). + The version number of vim and the current file name are shown in the title bar of the window. + When vim is started with "-v" (View) then readonly mode is used + When vim is started with "-s scriptfile", the characters read from "scriptfile" are treated as if you typed them. If end of file is reached before the editor exits, further characters are read from the console. + The -w option can be used to record all typed characters in a script file. This file can then be used to redo the editing, possibly on another file or after changing some commands in the script file. + Wildcards in file names are expanded (requires arp.library). + If the "backup" option is set before a file is overwritten, a backup file (.bak) is left behind. + Option settings are read from the first and last few lines of the file. Option 'modelines' determines how many lines are tried (default is 5). - All text is kept in memory. Available memory limits the file size (and other things such as undo). - Recovery after a crash has a smaller change for success, because there is no temporary file.