diff runtime/doc/vi_diff.txt @ 827:fd1b3406fd1c v7.0d02

updated for version 7.0d02
author vimboss
date Wed, 12 Apr 2006 21:52:12 +0000
parents 6675076019ae
children 5117153003bd
line wrap: on
line diff
--- a/runtime/doc/vi_diff.txt
+++ b/runtime/doc/vi_diff.txt
@@ -1,4 +1,4 @@
-*vi_diff.txt*   For Vim version 7.0d.  Last change: 2006 Jan 02
+*vi_diff.txt*   For Vim version 7.0d.  Last change: 2006 Apr 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -103,13 +103,12 @@ The option 'maxmem' ('mm') is used to se
 buffer (in kilobytes).  'maxmemtot' is used to set the maximum memory used for
 all buffers (in kilobytes).  The defaults depend on the system used.  For the
 Amiga and MS-DOS, 'maxmemtot' is set depending on the amount of memory
-available.  If you don't like Vim to swap to a file, set 'maxmem' and
-'maxmemtot' to a very large value.  The swap file will then only be used for
-recovery.  If you don't want a swap file at all, set 'updatecount' to 0, or
-use the "-n" argument when starting Vim.  Note that the 'maxmem' option is
-only used when a buffer is created.  Changing this option does not affect
-buffers that have already been loaded.  Thus you can set it to different
-values for different files.  'maxmemtot' works always.
+available.
+These are not hard limits, but tell Vim when to move text into a swap file.
+If you don't like Vim to swap to a file, set 'maxmem' and 'maxmemtot' to a
+very large value.  The swap file will then only be used for recovery.  If you
+don't want a swap file at all, set 'updatecount' to 0, or use the "-n"
+argument when starting Vim.
 
 ==============================================================================
 4. The most interesting additions			*vim-additions*
@@ -123,7 +122,8 @@ Vi compatibility.					|'compatible'|
 		:set nocompatible
 	Or start Vim with the "-N" argument:
 		vim -N
-	This is done automatically if you have a .vimrc file.  See |startup|.
+	Vim starts with 'nocompatible' automatically if you have a .vimrc
+	file.  See |startup|.
 	The 'cpoptions' option can be used to set Vi compatibility on/off for
 	a number of specific items.
 
@@ -142,17 +142,23 @@ Support for different systems.
 	- Macintosh
 	- Risc OS
 	- IBM OS/390
+	Note that on some systems features need to be disabled to reduce
+	resource usage, esp. on MS-DOS.  For some outdated systems you need to
+	use an older Vim version.
 
 Multi level undo.					|undo|
 	'u' goes backward in time, 'CTRL-R' goes forward again.  Set option
 	'undolevels' to the number of changes to be remembered (default 1000).
 	Set 'undolevels' to 0 for a vi-compatible one level undo.  Set it to
 	-1 for no undo at all.
-
 	When all changes in a buffer have been undone, the buffer is not
 	considered changed anymore.  You can exit it with :q, without <!>.
+	When undoing a few changes and then making a new change Vim will
+	create a branch in the undo tree.  This means you can go back to any
+	state of the text, there is no risc of a change causing text to be
+	lost forever. |undo-tree|
 
-Graphical User Interface (GUI)				|gui|
+Graphical User Interface (GUI).				|gui|
 	Included support for GUI: menu's, mouse, scrollbars, etc.  You can
 	define your own menus.  Better support for CTRL/SHIFT/ALT keys in
 	combination with special keys and mouse.  Supported for various
@@ -165,58 +171,78 @@ Multiple windows and buffers.				|window
 	can still be loaded (and changed) but not displayed in a window.  This
 	is called a hidden buffer.  Many commands and options have been added
 	for this facility.
+	Vim can also use multiple tab pages, each with one or more windows.  A
+	line with tab labels can be used to quickly switch between these pages.
+	|tab-page|
 
 Syntax highlighting.					|:syntax|
 	Vim can highlight keywords, patterns and other things.  This is
-	defined by a number of ":syntax" commands, and can be made to
+	defined by a number of |:syntax| commands, and can be made to
 	highlight most languages and file types.  A number of files are
 	included for highlighting the most common languages, like C, C++,
 	Java, Pascal, Makefiles, shell scripts, etc.  The colors used for
 	highlighting can be defined for ordinary terminals, color terminals
-	and the GUI with the ":highlight" command.
+	and the GUI with the |:highlight| command.  A convenient way to do
+	this is using a |:colorscheme| command.
+	The highlighted text can be exported as HTML. |convert-to-HTML|
+	Other items that can be highlighted are matches with the search string
+	|'hlsearch'|, matching parens |matchparen| and the cursor line and
+	column |'cursorline'| |'cursorcolumn'|.
 
-Folding							|folding|
+Spell checking.						|spell|
+	When the 'spell' option is set Vim will highlight spelling mistakes.
+	About 40 languages are currently supported, selected with the
+	'spellang' option.  In source code only comments and strings are
+	checked for spelling.
+
+Folding.						|folding|
 	A range of lines can be shown as one "folded" line.  This allows
 	overviewing a file and moving blocks of text around quickly.
 	Folds can be created manually, from the syntax of the file, by indent,
 	etc.
 
-Plugins							|add-plugin|
+Diff mode.						|diff|
+	Vim can show two versions of a file with the differences highlighted.
+	Parts of the text that are equal are folded away.  Commands can be
+	used to move text from one version to the other.
+
+Plugins.						|add-plugin|
 	The functionality can be extended by dropping a plugin file in the
 	right directory.  That's an easy way to start using Vim scripts
 	written by others.  Plugins can be for all kind of files, or
 	specifically for a filetype.
 
 Repeat a series of commands.				|q|
-	"q{c}" starts recording typed characters into named register {c}
-	(append to the register if register name is uppercase).  A subsequent
-	"q" stops recording.  The register can then be executed with the
-	"@{c}" command.  This is very useful to repeat a complex action.
+	"q{c}" starts recording typed characters into named register {c}.
+	A subsequent "q" stops recording.  The register can then be executed
+	with the "@{c}" command.  This is very useful to repeat a complex
+	action.
 
 Flexible insert mode.					|ins-special-special|
 	The arrow keys can be used in insert mode to move around in the file.
 	This breaks the insert in two parts as far as undo and redo is
 	concerned.
 
-	CTRL-O can be used to execute a single command-mode command.  This is
-	almost the same as hitting <Esc>, typing the command and doing "a".
+	CTRL-O can be used to execute a single Normal mode command.  This is
+	almost the same as hitting <Esc>, typing the command and doing |a|.
 
 Visual mode.						|Visual-mode|
-	Visual can be used to first highlight a piece of text and then give a
-	command to do something with it.  This is an (easy to use) alternative
-	to first giving the operator and then moving to the end of the text
-	to be operated upon.  "v" and "V" are used to start Visual mode.  "v"
-	works on characters and 'V' on lines.  Move the cursor to extend the
-	Visual part.  It is shown highlighted on the screen.  By typing "o"
-	the other end of the Visual text can be moved.  The Visual text can
-	be affected by an operator:
+	Visual mode can be used to first highlight a piece of text and then
+	give a command to do something with it.  This is an (easy to use)
+	alternative to first giving the operator and then moving to the end of
+	the text to be operated upon.
+	|v| and |V| are used to start Visual mode.  |v| works on characters
+	and |V| on lines.  Move the cursor to extend the Visual area.  It is
+	shown highlighted on the screen.  By typing "o" the other end of the
+	Visual area can be moved.  The Visual area can be affected by an
+	operator:
 		d	delete
 		c	change
 		y	yank
 		> or <	insert or delete indent
 		!	filter through external program
 		=	filter through indent
-		:	start ":" command for the Visual lines.
+		:	start |:| command for the Visual lines.
 		gq	format text to 'textwidth' columns
 		J	join lines
 		~	swap case
@@ -224,15 +250,15 @@ Visual mode.						|Visual-mode|
 		U	make uppercase
 
 Block operators.					|visual-block|
-	With Visual a rectangular block of text can be selected.  Start Visual
-	with CTRL-V.  The block can be deleted ("d"), yanked ("y") or its case
-	can be changed ("~", "u" and "U").  A deleted or yanked block can be
-	put into the text with the "p" and "P" commands.
+	With Visual mode a rectangular block of text can be selected.  Start
+	Visual mode with CTRL-V.  The block can be deleted ("d"), yanked ("y")
+	or its case can be changed ("~", "u" and "U").  A deleted or yanked
+	block can be put into the text with the "p" and "P" commands.
 
-Online help system.					|:help|
+Help system.						|:help|
 	Help is displayed in a window.  The usual commands can be used to
 	move around, search for a string, etc.  Tags can be used to jump
-	around in the help files, just like hypertext links.  The ":help"
+	around in the help files, just like hypertext links.  The |:help|
 	command takes an argument to quickly jump to the info on a subject.
 	<F1> is the quick access to the help system.  The name of the help
 	index file can be set with the 'helpfile' option.
@@ -243,7 +269,6 @@ Command-line editing and history.			|cmd
 	forward/backward one character.  The shifted right/left cursor keys
 	can be used to move forward/backward one word.  CTRL-B/CTRL-E can be
 	used to go to the begin/end of the command-line.
-
 							|cmdline-history|
 	The command-lines are remembered.  The up/down cursor keys can be used
 	to recall previous command-lines.  The 'history' option can be set to
@@ -271,9 +296,9 @@ Command-line completion.				|cmdline-com
 	all matches.  CTRL-L will insert the longest common part of the
 	matches.
 
-Insert-mode completion					|ins-completion|
-	In insert mode the CTRL-N and CTRL-P keys can be used to complete a
-	word that has previously been used.	|i_CTRL-N|
+Insert-mode completion.					|ins-completion|
+	In Insert mode the CTRL-N and CTRL-P keys can be used to complete a
+	word that appears elsewhere.	|i_CTRL-N|
 	With CTRL-X another mode is entered, through which completion can be
 	done for:
 	|i_CTRL-X_CTRL-F|	file names
@@ -283,51 +308,64 @@ Insert-mode completion					|ins-completi
 	|i_CTRL-X_CTRL-L|	whole lines
 	|i_CTRL-X_CTRL-]|	words from the tags file
 	|i_CTRL-X_CTRL-D|	definitions or macros
+	|i_CTRL-X_CTRL-O|	Omni completion: clever completion
+				specifically for a file type
+	etc.
 
-Long line support					|'wrap'| |'linebreak'|
+Long line support.					|'wrap'| |'linebreak'|
 	If the 'wrap' option is off, long lines will not wrap and only part
 	of them will be shown.  When the cursor is moved to a part that is not
 	shown, the screen will scroll horizontally.  The minimum number of
-	columns to scroll can be set with the 'sidescroll' option.  The "zh"
-	and "zl" commands can be used to scroll sideways.
+	columns to scroll can be set with the 'sidescroll' option.  The |zh|
+	and |zl| commands can be used to scroll sideways.
 	Alternatively, long lines are broken in between words when the
 	'linebreak' option is set.  This allows editing a single-line
 	paragraph conveniently (e.g. when the text is later read into a DTP
-	program).  Move the cursor up/down with the "gk" and "gj" commands.
+	program).  Move the cursor up/down with the |gk| and |gj| commands.
 
 Text formatting.					|formatting|
 	The 'textwidth' option can be used to automatically limit the line
 	length.  This supplements the 'wrapmargin' option of Vi, which was not
-	very useful.  The "gq" operator can be used to format a piece of text
-	(for example, "gqap" formats the current paragraph).  Commands for
-	text alignment: ":center", ":left" and ":right".
+	very useful.  The |gq| operator can be used to format a piece of text
+	(for example, |gqap| formats the current paragraph).  Commands for
+	text alignment: |:center|, |:left| and |:right|.
 
-Extended search patterns				|pattern|
+Extended search patterns.				|pattern|
 	There are many extra items to match various text items.  Examples:
 	A "\n" can be used in a search pattern to match a line break.
 	"x\{2,4}" matches "x" 2 to 4 times.
 	"\s" matches a white space character.
 
+Directory, remote and archive browsing.			|netrw|
+	Vim can browse the file system.  Simply edit a directory.  Move around
+	in the list with the usual commands and press <Enter> to go to the
+	directory or file under the cursor.
+	This also works for remote files over ftp, http, ssh, etc.
+	Zip and tar archives can also be browsed. |tar| |zip|
+
 Edit-compile-edit speedup.				|quickfix|
-	The ":make" command can be used to run the compilation and jump to
-	the first error.  Alternatively Vim can be started with the "-q"
-	option from the compiler.  A file with compiler error messages is
-	interpreted.  Vim starts editing at the first error.
+	The |:make| command can be used to run the compilation and jump to the
+	first error.  A file with compiler error messages is interpreted.  Vim
+	jumps to the first error.
 
 	Each line in the error file is scanned for the name of a file, line
 	number and error message.  The 'errorformat' option can be set to a
 	list of scanf-like strings to handle output from many compilers.
 
-	The ":cn" command can be used to jump to the next error.
-	":cl" lists all the error messages.  Other commands are available
-	(almost the same as with Manx's Z editor on the Amiga).
+	The |:cn| command can be used to jump to the next error.
+	|:cl| lists all the error messages.  Other commands are available.
 	The 'makeef' option has the name of the file with error messages.
 	The 'makeprg' option contains the name of the program to be executed
-	with the ":make" command.
+	with the |:make| command.
 	The 'shellpipe' option contains the string to be used to put the
 	output of the compiler into the errorfile.
 
-Improved indenting for C programs			|'cindent'|
+Finding matches in files.				|:vimgrep|
+	Vim can search for a pattern in multiple files.  This uses the
+	advanced Vim regexp pattern, works on all systems and also works to
+	search in compressed files.
+
+Improved indenting for programs.			|'cindent'|
 	When the 'cindent' option is on the indent of each line is
 	automatically adjusted.  C syntax is mostly recognized.  The indent
 	for various styles can be set with 'cinoptions'.  The keys to trigger
@@ -336,68 +374,85 @@ Improved indenting for C programs			|'ci
 	Comments can be automatically formatted.  The 'comments' option can be
 	set to the characters that start and end a comment.  This works best
 	for C code, but also works for e-mail (">" at start of the line) and
-	other types of text.  The "=" operator can be used to re-indent
+	other types of text.  The |=| operator can be used to re-indent
 	lines.
 
-Searching for words in include files			|include-search|
-	The "[i" command can be used to search for a match of the word under
+	For many other languages an indent plugin is present to support
+	automatic indenting. |30.3|
+
+Searching for words in included files.			|include-search|
+	The |[i| command can be used to search for a match of the word under
 	the cursor in the current and included files.  The 'include' option
 	can be set the a pattern that describes a command to include a file
 	(the default is for C programs).
-	The "[I" command lists all matches, the "[ CTRL-I" command jumps to
+	The |[I| command lists all matches, the |[_CTRL-I| command jumps to
 	a match.
-	The "[d", "[D" and "[ CTRL-D" commands do the same, but only for
+	The |[d|, |[D| and |[_CTRL-D| commands do the same, but only for
 	lines where the pattern given with the 'define' option matches.
 
-Automatic commands					|autocommand|
+Automatic commands.					|autocommand|
 	Commands can be automatically executed when reading a file, writing a
 	file, jumping to another buffer, etc., depending on the file name.
 	This is useful to set options and mappings for C programs,
 	documentation, plain text, e-mail, etc.  This also makes it possible
 	to edit compressed files.
 
-Scripts and Expressions					|expression|
-	Commands have been added to form up a simple but powerful script
-	language.
+Scripts and Expressions.				|expression|
+	Commands have been added to form up a powerful script language.
 	|:if|		Conditional execution, which can be used for example
 			to set options depending on the value of $TERM.
 	|:while|	Repeat a number of commands.
+	|:for|		Loop over a list.
 	|:echo|		Print the result of an expression.
 	|:let|		Assign a value to an internal variable, option, etc.
+			Variable types are Number, String, List and Dictionary.
 	|:execute|	Execute a command formed by an expression.
-	etc.
+	|:try|		Catch exceptions.
+	etc., etc.  See |eval|.
+	Debugging and profiling are supported. |debug-scripts| |profile|
+	If this is not enough, an interface is provided to |Python|, |Ruby|,
+	|Tcl|, |Perl| and |MzScheme|.
 
-Viminfo							|viminfo-file|
+Viminfo.						|viminfo-file|
 	The command-line history, marks and registers can be stored in a file
 	that is read on startup.  This can be used to repeat a search command
 	or command-line command after exiting and restarting Vim.  It is also
-	possible to jump right back to where the last edit stopped with "'0".
+	possible to jump right back to where the last edit stopped with |'0|.
 	The 'viminfo' option can be set to select which items to store in the
 	.viminfo file.  This is off by default.
 
-Mouse support						|mouse-using|
+Printing.						|printing|
+	The |:hardcopy| command sends text to the printer.  This can include
+	syntax highlighting.
+
+Mouse support.						|mouse-using|
 	The mouse is supported in the GUI version, in an xterm for Unix, for
 	Linux with gpm, for MS-DOS, and Win32.  It can be used to position the
 	cursor, select the visual area, paste a register, etc.
 
-Usage of key names					|<>| |key-notation|
+Usage of key names.					|<>| |key-notation|
 	Special keys now all have a name like <Up>, <End>, etc.
 	This name can be used in mappings, to make it easy to edit them.
 
-Editing binary files					|edit-binary|
+Editing binary files.					|edit-binary|
 	Vim can edit binary files.  You can change a few characters in an
 	executable file, without corrupting it.  Vim doesn't remove NUL
 	characters (they are represented as <NL> internally).
 	|-b|		command-line argument to start editing a binary file
-	|'binary'|	Option set by "-b".  Prevents adding an <EOL> for the
+	|'binary'|	Option set by |-b|.  Prevents adding an <EOL> for the
 			last line in the file.
 
-Multi-language support					|multi-lang|
+Multi-language support.					|multi-lang|
 	Files in double-byte or multi-byte encodings can be edited.  There is
 	UTF-8 support to be able to edit various languages at the same time,
 	without switching fonts. |UTF-8|
 	Messages and menus are available in different languages.
 
+Move cursor beyond lines.
+	When the 'virtualedit' option is set the cursor can move all over the
+	screen, also where there is no text.  This is useful to edit tables
+	and figures easily.
+
 ==============================================================================
 5. Other vim features					*other-features*
 
@@ -843,6 +898,8 @@ Only Vim is able to accept options in be
 
 -o[N]		Vim: Open [N] windows, or one for each file.
 
+-p[N]		Vim: Open [N] tab pages, or one for each file.
+
 -P {parent-title} Win32 Vim: open Vim inside a parent application window
 
 -q {name}	Vim: Use {name} for quickfix error file.