Vim documentation: options

main help file

*options.txt*	For Vim version 7.0.  Last change: 2006 May 04


		  VIM REFERENCE MANUAL	  by Bram Moolenaar



Options							*options*

1. Setting options			|set-option|
2. Automatically setting options	|auto-setting|
3. Options summary			|option-summary|

For an overview of options see help.txt |option-list|.

Vim has a number of internal variables and switches which can be set to
achieve special effects.  These options come in three forms:

	boolean		can only be on or off		*boolean* *toggle*
	number		has a numeric value
	string		has a string value

==============================================================================

1. Setting options					*set-option* *E764*


							*:se* *:set*
:se[t]			Show all options that differ from their default value.

:se[t] all		Show all but terminal options.

:se[t] termcap		Show all terminal options.  Note that in the GUI the
			key codes are not shown, because they are generated
			internally and can't be changed.  Changing the terminal
			codes in the GUI is not useful either...


								*E518* *E519*
:se[t] {option}?	Show value of {option}.

:se[t] {option}		Toggle option: set, switch it on.
			Number option: show value.
			String option: show value.

:se[t] no{option}	Toggle option: Reset, switch it off.

:se[t] {option}!   or
:se[t] inv{option}	Toggle option: Invert value. {not in Vi}


				*:set-default* *:set-&* *:set-&vi* *:set-&vim*
:se[t] {option}&	Reset option to its default value.  May depend on the
			current value of 'compatible'. {not in Vi}
:se[t] {option}&vi	Reset option to its Vi default value. {not in Vi}
:se[t] {option}&vim	Reset option to its Vim default value. {not in Vi}

:se[t] all&		Set all options, except terminal options, to their
			default value.  The values of 'term', 'lines' and
			'columns' are not changed. {not in Vi}


						*:set-args* *E487* *E521*
:se[t] {option}={value}		or
:se[t] {option}:{value}
			Set string or number option to {value}.
			For numeric options the value can be given in decimal,
			hex (preceded with 0x) or octal (preceded with '0')
			(hex and octal are only available for machines which
			have the strtol() function).
			The old value can be inserted by typing 'wildchar' (by
			default this is a <Tab> or CTRL-E if 'compatible' is
			set).  See |cmdline-completion|.
			White space between {option} and '=' is allowed and
			will be ignored.  White space between '=' and {value}
			is not allowed.
			See |option-backslash| for using white space and
			backslashes in {value}.


:se[t] {option}+={value}				*:set+=*
			Add the {value} to a number option, or append the
			{value} to a string option.  When the option is a
			comma separated list, a comma is added, unless the
			value was empty.
			If the option is a list of flags, superfluous flags
			are removed.  When adding a flag that was already
			present the option value doesn't change.
			Also see |:set-args| above.
			{not in Vi}


:se[t] {option}^={value}				*:set^=*
			Multiply the {value} to a number option, or prepend
			the {value} to a string option.  When the option is a
			comma separated list, a comma is added, unless the
			value was empty.
			Also see |:set-args| above.
			{not in Vi}


:se[t] {option}-={value}				*:set-=*
			Subtract the {value} from a number option, or remove
			the {value} from a string option, if it is there.
			If the {value} is not found in a string option, there
			is no error or warning.  When the option is a comma
			separated list, a comma is deleted, unless the option
			becomes empty.
			When the option is a list of flags, {value} must be
			exactly as they appear in the option.  Remove flags
			one by one to avoid problems.
			Also see |:set-args| above.
			{not in Vi}

The {option} arguments to ":set" may be repeated.  For example:
	:set ai nosi sw=3 ts=3
If you make an error in one of the arguments, an error message will be given
and the following arguments will be ignored.


							*:set-verbose*
When 'verbose' is non-zero, displaying an option value will also tell where it
was last set.  Example:
	:verbose set shiftwidth cindent?
	  shiftwidth=4
		  Last set from modeline
	  cindent
		  Last set from /usr/local/share/vim/vim60/ftplugin/c.vim
This is only done when specific option values are requested, not for ":set
all" or ":set" without an argument.
When the option was set by hand there is no "Last set" message.  There is only
one value for all local options with the same name.  Thus the message applies
to the option name, not necessarily its value.
When the option was set while executing a function, user command or
autocommand, the script in which it was defined is reported.
Note that an option may also have been set as a side effect of setting
'compatible'.
{not available when compiled without the +eval feature}


							*:set-termcap* *E522*
For {option} the form "t_xx" may be used to set a terminal option.  This will
override the value from the termcap.  You can then use it in a mapping.  If
the "xx" part contains special characters, use the <t_xx> form:
	:set <t_#4>=^[Ot
This can also be used to translate a special code for a normal key.  For
example, if Alt-b produces <Esc>b, use this:
	:set <M-b>=^[b
(the ^[ is a real <Esc> here, use CTRL-V <Esc> to enter it)
The advantage over a mapping is that it works in all situations.

The t_xx options cannot be set from a |modeline| or in the |sandbox|, for
security reasons.

The listing from ":set" looks different from Vi.  Long string options are put
at the end of the list.  The number of options is quite large.  The output of
"set all" probably does not fit on the screen, causing Vim to give the
|more-prompt|.


							*option-backslash*
To include white space in a string option value it has to be preceded with a
backslash.  To include a backslash you have to use two.  Effectively this
means that the number of backslashes in an option value is halved (rounded
down).
A few examples:
   :set tags=tags\ /usr/tags	    results in "tags /usr/tags"
   :set tags=tags\\,file	    results in "tags\,file"
   :set tags=tags\\\ file	    results in "tags\ file"

The "|" character separates a ":set" command from a following command.  To
include the "|" in the option value, use "\|" instead.  This example sets the
'titlestring' option to "hi|there":
   :set titlestring=hi\|there
This sets the 'titlestring' option to "hi" and 'iconstring' to "there":
   :set titlestring=hi|set iconstring=there

Similarly, the double quote character starts a comment.  To include the '"'' in
the option value, use '\"' instead.  This example sets the 'titlestring'
option to 'hi "there"':
   :set titlestring=hi\ \"there\"

For MS-DOS and WIN32 backslashes in file names are mostly not removed.  More
precise: For options that expect a file name (those where environment
variables are expanded) a backslash before a normal file name character is not
removed.  But a backslash before a special character (space, backslash, comma,
etc.) is used like explained above.
There is one special situation, when the value starts with "\\":
   :set dir=\\machine\path	    results in "\\machine\path"
   :set dir=\\\\machine\\path	    results in "\\machine\path"
   :set dir=\\path\\file	    results in "\\path\file" (wrong!)
For the first one the start is kept, but for the second one the backslashes
are halved.  This makes sure it works both when you expect backslashes to be
halved and when you expect the backslashes to be kept.  The third gives a
result which is probably not what you want.  Avoid it.


				*add-option-flags* *remove-option-flags*

				*E539* *E550* *E551* *E552*
Some options are a list of flags.  When you want to add a flag to such an
option, without changing the existing ones, you can do it like this:
   :set guioptions+=a
Remove a flag from an option like this:
   :set guioptions-=a
This removes the 'a' flag from 'guioptions'.
Note that you should add or remove one flag at a time.  If 'guioptions' has
the value "ab", using "set guioptions-=ba" won't work, because the string "ba"
doesn't appear.


			   *:set_env* *expand-env* *expand-environment-var*
Environment variables in specific string options will be expanded.  If the
environment variable exists the '$' and the following environment variable
name is replaced with its value.  If it does not exist the '$' and the name
are not modified.  Any non-id character (not a letter, digit or '_') may
follow the environment variable name.  That character and what follows is
appended to the value of the environment variable.  Examples:
   :set term=$TERM.new
   :set path=/usr/$INCLUDE,$HOME/include,.
When adding or removing a string from an option with ":set opt-=val" or ":set
opt+=val" the expansion is done before the adding or removing.



Handling of local options			*local-options*

Some of the options only apply to a window or buffer.  Each window or buffer
has its own copy of this option, thus can each have their own value.  This
allows you to set 'list' in one window but not in another.  And set
'shiftwidth' to 3 in one buffer and 4 in another.

The following explains what happens to these local options in specific
situations.  You don't really need to know all of this, since Vim mostly uses
the option values you would expect.  Unfortunately, doing what the user
expects is a bit complicated...

When splitting a window, the local options are copied to the new window.  Thus
right after the split the contents of the two windows look the same.

When editing a new buffer, its local option values must be initialized.  Since
the local options of the current buffer might be specifically for that buffer,
these are not used.  Instead, for each buffer-local option there also is a
global value, which is used for new buffers.  With ":set" both the local and
global value is changed.  With "setlocal" only the local value is changed,
thus this value is not used when editing a new buffer.

When editing a buffer that has been edited before, the last used window
options are used again.  If this buffer has been edited in this window, the
values from back then are used.  Otherwise the values from the window where
the buffer was edited last are used.

It's possible to set a local window option specifically for a type of buffer.
When you edit another buffer in the same window, you don't want to keep
using these local window options.  Therefore Vim keeps a global value of the
local window options, which is used when editing another buffer.  Each window
has its own copy of these values.  Thus these are local to the window, but
global to all buffers in the window.  With this you can do:
	:e one
	:set list
	:e two
Now the 'list' option will also be set in "two", since with the ":set list"
command you have also set the global value.
	:set nolist
	:e one
	:setlocal list
	:e two
Now the 'list' option is not set, because ":set nolist" resets the global
value, ":setlocal list" only changes the local value and ":e two" gets the
global value.  Note that if you do this next:
	:e one
You will not get back the 'list' value as it was the last time you edited
"one".  The options local to a window are not remembered for each buffer.


							*:setl* *:setlocal*
:setl[ocal] ...		Like ":set" but set only the value local to the
			current buffer or window.  Not all options have a
			local value.  If the option does not have a local
			value the global value is set.
			With the "all" argument: display all local option's
			local values.
			Without argument: Display all local option's local
			values which are different from the default.
			When displaying a specific local option, show the
			local value.  For a global option the global value is
			shown (but that might change in the future).
			{not in Vi}

:setl[ocal] {option}<	Set the local value of {option} to its global value by
			copying the value.
			{not in Vi}

:se[t] {option}<	Set the local value of {option} to its global value by
			making it empty.  Only makes sense for |global-local|
			options.
			{not in Vi}


							*:setg* *:setglobal*
:setg[lobal] ...	Like ":set" but set only the global value for a local
			option without changing the local value.
			When displaying an option, the global value is shown.
			With the "all" argument: display all local option's
			global values.
			Without argument: display all local option's global
			values which are different from the default.
			{not in Vi}

For buffer-local and window-local options:
	Command		 global value	    local value 
      :set option=value	     set		set
 :setlocal option=value	      -			set
:setglobal option=value	     set		 -
      :set option?	      -		       display
 :setlocal option?	      -		       display
:setglobal option?	    display		 -



Global options with a local value			*global-local*

Options are global when you mostly use one value for all buffers and windows.
For some global options it's useful to sometimes have a different local value.
You can set the local value with ":setlocal".  That buffer or window will then
use the local value, while other buffers and windows continue using the global
value.

For example, you have two windows, both on C source code.  They use the global
'makeprg' option.  If you do this in one of the two windows:
	:set makeprg=gmake
then the other window will switch to the same value.  There is no need to set
the 'makeprg' option in the other C source window too.
However, if you start editing a Perl file in a new window, you want to use
another 'makeprog' for it, without changing the value used for the C source
files.  You use this command:
	:setlocal makeprg=perlmake
You can switch back to using the global value by making the local value empty:
	:setlocal makeprg=
This only works for a string option.  For a boolean option you need to use the
"<" flag, like this:
	:setlocal autoread<
Note that for non-boolean options using "<" copies the global value to the
local value, it doesn't switch back to using the global value (that matters
when the global value changes later).  You can also use:
	:set path<
This will make the local value of 'path' empty, so that the global value is
used.  Thus it does the same as:
	:setlocal path=
Note: In the future more global options can be made global-local.  Using
":setlocal" on a global option might work differently then.


Setting the filetype


:setf[iletype] {filetype}			*:setf* *:setfiletype*
			Set the 'filetype' option to {filetype}, but only if
			not done yet in a sequence of (nested) autocommands.
			This is short for:
				:if !did_filetype()
				:  setlocal filetype={filetype}
				:endif
 			This command is used in a filetype.vim file to avoid
			setting the 'filetype' option twice, causing different
			settings and syntax files to be loaded.
			{not in Vi}


:bro[wse] se[t]			*:set-browse* *:browse-set* *:opt* *:options*
:opt[ions]		Open a window for viewing and setting all options.
			Options are grouped by function.
			Offers short help for each option.  Hit <CR> on the
			short help to open a help window with more help for
			the option.
			Modify the value of the option and hit <CR> on the
			"set" line to set the new value.  For window and
			buffer specific options, the last accessed window is
			used to set the option value in, unless this is a help
			window, in which case the window below help window is
			used (skipping the option-window).
			{not available when compiled without the |+eval| or
			|+autocmd| features}


								*$HOME*
Using "~" is like using "$HOME", but it is only recognized at the start of an
option and after a space or comma.

On Unix systems "~user" can be used too.  It is replaced by the home directory
of user "user".  Example:
    :set path=~mool/include,/usr/include,.

On Unix systems the form "${HOME}" can be used too.  The name between {} can
contain non-id characters then.  Note that if you want to use this for the
"gf" command, you need to add the '{' and '}' characters to 'isfname'.

NOTE: expanding environment variables and "~/" is only done with the ":set"
command, not when assigning a value to an option with ":let".


Note the maximum length of an expanded option is limited.  How much depends on
the system, mostly it is something like 256 or 1024 characters.


							*:fix* *:fixdel*
:fix[del]		Set the value of 't_kD':
				't_kb' is     't_kD' becomes	
				  CTRL-?	CTRL-H
				not CTRL-?	CTRL-?

			(CTRL-? is 0177 octal, 0x7f hex) {not in Vi}

			If your delete key terminal code is wrong, but the
			code for backspace is alright, you can put this in
			your .vimrc:
				:fixdel
 			This works no matter what the actual code for
			backspace is.

			If the backspace key terminal code is wrong you can
			use this:
				:if &term == "termname"
				:  set t_kb=^V<BS>
				:  fixdel
				:endif
 			Where "^V" is CTRL-V and "<BS>" is the backspace key
			(don't type four characters!).  Replace "termname"
			with your terminal name.

			If your <Delete> key sends a strange key sequence (not
			CTRL-? or CTRL-H) you cannot use ":fixdel".  Then use:
				:if &term == "termname"
				:  set t_kD=^V<Delete>
				:endif
 			Where "^V" is CTRL-V and "<Delete>" is the delete key
			(don't type eight characters!).  Replace "termname"
			with your terminal name.


							*Linux-backspace*
			Note about Linux: By default the backspace key
			produces CTRL-?, which is wrong.  You can fix it by
			putting this line in your rc.local:
				echo "keycode 14 = BackSpace" | loadkeys
 

							*NetBSD-backspace*
			Note about NetBSD: If your backspace doesn't produce
			the right code, try this:
				xmodmap -e "keycode 22 = BackSpace"
 			If this works, add this in your .Xmodmap file:
				keysym 22 = BackSpace
 			You need to restart for this to take effect.

==============================================================================

2. Automatically setting options			*auto-setting*

Besides changing options with the ":set" command, there are three alternatives
to set options automatically for one or more files:

1. When starting Vim initializations are read from various places.  See
   |initialization|.  Most of them are performed for all editing sessions,
   and some of them depend on the directory where Vim is started.
   You can create an initialization file with |:mkvimrc|, |:mkview| and
   |:mksession|.
2. If you start editing a new file, the automatic commands are executed.
   This can be used to set options for files matching a particular pattern and
   many other things.  See |autocommand|.
3. If you start editing a new file, and the 'modeline' option is on, a
   number of lines at the beginning and end of the file are checked for
   modelines.  This is explained here.


					*modeline* *vim:* *vi:* *ex:* *E520*
There are two forms of modelines.  The first form:
	[text]{white}{vi:|vim:|ex:}[white]{options}

[text]		any text or empty
{white}		at least one blank character (<Space> or <Tab>)
{vi:|vim:|ex:}	the string "vi:", "vim:" or "ex:"
[white]		optional white space
{options}	a list of option settings, separated with white space or ':',
		where each part between ':' is the argument for a ":set"
		command

Example:
   vi:noai:sw=3 ts=6 

The second form (this is compatible with some versions of Vi):

	[text]{white}{vi:|vim:|ex:}[white]se[t] {options}:[text]

[text]		any text or empty
{white}		at least one blank character (<Space> or <Tab>)
{vi:|vim:|ex:}	the string "vi:", "vim:" or "ex:"
[white]		optional white space
se[t]		the string "set " or "se " (note the space)
{options}	a list of options, separated with white space, which is the
		argument for a ":set" command
:		a colon
[text]		any text or empty

Example:
   /* vim: set ai tw=75: */ 

The white space before {vi:|vim:|ex:} is required.  This minimizes the chance
that a normal word like "lex:" is caught.  There is one exception: "vi:" and
"vim:" can also be at the start of the line (for compatibility with version
3.0).  Using "ex:" at the start of the line will be ignored (this could be
short for "example:").


							*modeline-local*
The options are set like with ":setlocal": The new value only applies to the
buffer and window that contain the file.  Although it's possible to set global
options from a modeline, this is unusual.  If you have two windows open and
the files in it set the same global option to a different value, the result
depends on which one was opened last.

When editing a file that was already loaded, only the window-local options
from the modeline are used.  Thus if you manually changed a buffer-local
option after opening the file, it won't be changed if you edit the same buffer
in another window.  But window-local options will be set.


							*modeline-version*
If the modeline is only to be used for some versions of Vim, the version
number can be specified where "vim:" is used:
	vim{vers}:	version {vers} or later
	vim<{vers}:	version before {vers}
	vim={vers}:	version {vers}
	vim>{vers}:	version after {vers}
{vers} is 600 for Vim 6.0 (hundred times the major version plus minor).
For example, to use a modeline only for Vim 6.0 and later:
	/* vim600: set foldmethod=marker: */ 
To use a modeline for Vim before version 5.7:
	/* vim<570: set sw=4: */ 
There can be no blanks between "vim" and the ":".


The number of lines that are checked can be set with the 'modelines' option.
If 'modeline' is off or 'modelines' is 0 no lines are checked.

Note that for the first form all of the rest of the line is used, thus a line
like:
   /* vi:ts=4: */ 
will give an error message for the trailing "*/".  This line is OK:
   /* vi:set ts=4: */ 

If an error is detected the rest of the line is skipped.

If you want to include a ':' in a set command precede it with a '\'.  The
backslash in front of the ':' will be removed.  Example:
   /* vi:set dir=c\:\tmp: */ 
This sets the 'dir' option to "c:\tmp".  Only a single backslash before the
':' is removed.  Thus to include "\:" you have to specify "\\:".

No other commands than "set" are supported, for security reasons (somebody
might create a Trojan horse text file with modelines).

Hint: If you would like to do something else than setting an option, you could
define an autocommand that checks the file for a specific string.  For
example:
	au BufReadPost * if getline(1) =~ "VAR" | call SetVar() | endif
And define a function SetVar() that does something with the line containing
"VAR".

==============================================================================

3. Options summary					*option-summary*

In the list below all the options are mentioned with their full name and with
an abbreviation if there is one.  Both forms may be used.

In this document when a boolean option is "set" that means that ":set option"
is entered.  When an option is "reset", ":set nooption" is used.

For some options there are two default values: The "Vim default", which is
used when 'compatible' is not set, and the "Vi default", which is used when
'compatible' is set.

Most options are the same in all windows and buffers.  There are a few that
are specific to how the text is presented in a window.  These can be set to a
different value in each window.  For example the 'list' option can be set in
one window and reset in another for the same text, giving both types of view
at the same time.  There are a few options that are specific to a certain
file.  These can have a different value for each file or buffer.  For example
the 'textwidth' option can be 78 for a normal text file and 0 for a C
program.

	global			one option for all buffers and windows
	local to window		each window has its own copy of this option
	local to buffer		each buffer has its own copy of this option

When creating a new window the option values from the currently active window
are used as a default value for the window-specific options.  For the
buffer-specific options this depends on the 's' and 'S' flags in the
'cpoptions' option.  If 's' is included (which is the default) the values for
buffer options are copied from the currently active buffer when a buffer is
first entered.  If 'S' is present the options are copied each time the buffer
is entered, this is almost like having global options.  If 's' and 'S' are not
present, the options are copied from the currently active buffer when the
buffer is created.


Hidden options						*hidden-options*

Not all options are supported in all versions.  This depends on the supported
features and sometimes on the system.  A remark about this is in curly braces
below.  When an option is not supported it may still be set without getting an
error, this is called a hidden option.  You can't get the value of a hidden
option though, it is not stored.

To test if option "foo" can be used with ":set" use something like this:
	if exists('&foo')
This also returns true for a hidden option.  To test if option "foo" is really
supported use something like this:
	if exists('+foo')
 

							*E355*
A jump table for the options with a short description can be found at |Q_op|.


					*'aleph'* *'al'* *aleph* *Aleph*
'aleph' 'al'		number	(default 128 for MS-DOS, 224 otherwise)
			global
			{not in Vi}
			{only available when compiled with the |+rightleft|
			feature}
	The ASCII code for the first letter of the Hebrew alphabet.  The
	routine that maps the keyboard in Hebrew mode, both in Insert mode
	(when hkmap is set) and on the command-line (when hitting CTRL-_)
	outputs the Hebrew characters in the range [aleph..aleph+26].
	aleph=128 applies to PC code, and aleph=224 applies to ISO 8859-8.
	See |rileft.txt|.


			*'allowrevins'* *'ari'* *'noallowrevins'* *'noari'*
'allowrevins' 'ari'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+rightleft|
			feature}
	Allow CTRL-_ in Insert and Command-line mode.  This is default off, to
	avoid that users that accidentally type CTRL-_ instead of SHIFT-_ get
	into reverse Insert mode, and don't know how to get out.  See
	'revins'.
	NOTE: This option is reset when 'compatible' is set.


			 *'altkeymap'* *'akm'* *'noaltkeymap'* *'noakm'*
'altkeymap' 'akm'	boolean (default off)
			global
			{not in Vi}
			{only available when compiled with the |+farsi|
			feature}
	When on, the second language is Farsi.  In editing mode CTRL-_ toggles
	the keyboard map between Farsi and English, when 'allowrevins' set.

	When off, the keyboard map toggles between Hebrew and English.  This
	is useful to start the Vim in native mode i.e. English (left-to-right
	mode) and have default second language Farsi or Hebrew (right-to-left
	mode).  See |farsi.txt|.


						*'ambiwidth'* *'ambw'*
'ambiwidth' 'ambw'	string (default: "single")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Only effective when 'encoding' is "utf-8" or another Unicode encoding.
	Tells Vim what to do with characters with East Asian Width Class
	Ambiguous (such as Euro, Registered Sign, Copyright Sign, Greek
	letters, Cyrillic letters).

	There are currently two possible values:
	"single":	Use the same width as characters in US-ASCII.  This is
			expected by most users.
	"double":	Use twice the width of ASCII characters.

	There are a number of CJK fonts for which the width of glyphs for
	those characters are solely based on how many octets they take in
	legacy/traditional CJK encodings.  In those encodings, Euro,
	Registered sign, Greek/Cyrillic letters are represented by two octets,
	therefore those fonts have "wide" glyphs for them.  This is also
	true of some line drawing characters used to make tables in text
	file.  Therefore, when a CJK font is used for GUI Vim or
	Vim is running inside a terminal (emulators) that uses a CJK font
	(or Vim is run inside an xterm invoked with "-cjkwidth" option.),
	this option should be set to "double" to match the width perceived
	by Vim with the width of glyphs in the font.  Perhaps it also has
	to be set to "double" under CJK Windows 9x/ME or Windows 2k/XP
	when the system locale is set to one of CJK locales.  See Unicode
 Standard Annex #11	http://www.unicode.org/reports/tr11.


			*'antialias'* *'anti'* *'noantialias'* *'noanti'*
'antialias' 'anti'	boolean (default: off)
			global
			{not in Vi}
			{only available when compiled with GUI enabled
			on Mac OS X}
	This option only has an effect in the GUI version of Vim on Mac OS X
	v10.2 or later.  When on, Vim will use smooth ("antialiased") fonts,
	which can be easier to read at certain sizes on certain displays.
	Setting this option can sometimes cause problems if 'guifont' is set
	to its default (empty string).


			*'autochdir'* *'acd'* *'noautochdir'* *'noacd'*
'autochdir' 'acd'	boolean (default off)
			global
			{not in Vi}
			{only available when compiled with the
			|+netbeans_intg| or |+sun_workshop| feature}
	When on, Vim will change the current working directory whenever you
	open a file, switch buffers, delete a buffer or open/close a window.
	It will change to the directory containing the file which was opened
	or selected.
	This option is provided for backward compatibility with the Vim
	released with Sun ONE Studio 4 Enterprise Edition.
	Note: When this option is on some plugins may not work.


				*'arabic'* *'arab'* *'noarabic'* *'noarab'*
'arabic' 'arab'		boolean (default off)
			local to window
			{not in Vi}
			{only available when compiled with the |+arabic|
			feature}
	This option can be set to start editing Arabic text.
	Setting this option will:
	- Set the 'rightleft' option, unless 'termbidi' is set.
	- Set the 'arabicshape' option, unless 'termbidi' is set.
	- Set the 'keymap' option to "arabic"; in Insert mode CTRL-^ toggles
	  between typing English and Arabic key mapping.
	- Set the 'delcombine' option
	Note that 'encoding' must be "utf-8" for working with Arabic text.

	Resetting this option will:
	- Reset the 'rightleft' option.
	- Disable the use of 'keymap' (without changing its value).
	Note that 'arabicshape' and 'delcombine' are not reset (it is a global
	option.
	Also see |arabic.txt|.


					*'arabicshape'* *'arshape'*

					*'noarabicshape'* *'noarshape'*
'arabicshape' 'arshape'	boolean (default on)
			global
			{not in Vi}
			{only available when compiled with the |+arabic|
			feature}
	When on and 'termbidi' is off, the required visual character
	corrections that need to take place for displaying the Arabic language
	take affect.  Shaping, in essence, gets enabled; the term is a broad
	one which encompasses:
	  a) the changing/morphing of characters based on their location
	     within a word (initial, medial, final and stand-alone).
	  b) the enabling of the ability to compose characters
	  c) the enabling of the required combining of some characters
	When disabled the character display reverts back to each character's
	true stand-alone form.
	Arabic is a complex language which requires other settings, for
	further details see |arabic.txt|.


			*'autoindent'* *'ai'* *'noautoindent'* *'noai'*
'autoindent' 'ai'	boolean	(default off)
			local to buffer
	Copy indent from current line when starting a new line (typing <CR>
	in Insert mode or when using the "o" or "O" command).  If you do not
	type anything on the new line except <BS> or CTRL-D and then type
	<Esc> or <CR>, the indent is deleted again.  Moving the cursor to
	another line has the same effect, unless the 'I' flag is included in
	'cpoptions'.
	When autoindent is on, formatting (with the "gq" command or when you
	reach 'textwidth' in Insert mode) uses the indentation of the first
	line.
	When 'smartindent' or 'cindent' is on the indent is changed in
	a different way.
	The 'autoindent' option is reset when the 'paste' option is set.
	{small difference from Vi: After the indent is deleted when typing
	<Esc> or <CR>, the cursor position when moving up or down is after the
	deleted indent; Vi puts the cursor somewhere in the deleted indent}.


				 *'autoread'* *'ar'* *'noautoread'* *'noar'*
'autoread' 'ar'		boolean	(default off)
			global or local to buffer |global-local|
			{not in Vi}
	When a file has been detected to have been changed outside of Vim and
	it has not been changed inside of Vim, automatically read it again.
	When the file has been deleted this is not done.  |timestamp|
	If this option has a local value, use this command to switch back to
	using the global value:
		:set autoread<
 

				 *'autowrite'* *'aw'* *'noautowrite'* *'noaw'*
'autowrite' 'aw'	boolean	(default off)
			global
	Write the contents of the file, if it has been modified, on each
	:next, :rewind, :last, :first, :previous, :stop, :suspend, :tag, :!,
	:make, CTRL-] and CTRL-^ command; and when a :buffer, CTRL-O, CTRL-I,
	'{A-Z0-9}, or `{A-Z0-9} command takes one to another file.
	Note that for some commands the 'autowrite' option is not used, see
	'autowriteall' for that.


			 *'autowriteall'* *'awa'* *'noautowriteall'* *'noawa'*
'autowriteall' 'awa'	boolean	(default off)
			global
			{not in Vi}
	Like 'autowrite', but also used for commands ":edit", ":enew", ":quit",
	":qall", ":exit", ":xit", ":recover" and closing the Vim window.
	Setting this option also implies that Vim behaves like 'autowrite' has
	been set.


							*'background'* *'bg'*
'background' 'bg'	string	(default "dark" or "light")
			global
			{not in Vi}
	When set to "dark", Vim will try to use colors that look good on a
	dark background.  When set to "light", Vim will try to use colors that
	look good on a light background.  Any other value is illegal.
	Vim tries to set the default value according to the terminal used.
	This will not always be correct.
	Setting this option does not change the background color, it tells Vim
	what the background color looks like.  For changing the background
	color, see |:hi-normal|.

	When 'background' is set Vim will adjust the default color groups for
	the new value.  But the colors used for syntax highlighting will not
	change.
	When a color scheme is loaded (the "colors_name" variable is set)
	setting 'background' will cause the color scheme to be reloaded.  If
	the color scheme adjusts to the value of 'background' this will work.
	However, if the color scheme sets 'background' itself the effect may
	be undone.  First delete the "colors_name" variable when needed.

	When setting 'background' to the default value with:
		:set background&
 	Vim will guess the value.  In the GUI this should work correctly,
	in other cases Vim might not be able to guess the right value.

	When starting the GUI, the default value for 'background' will be
	"light".  When the value is not set in the .gvimrc, and Vim detects
	that the background is actually quite dark, 'background' is set to
	"dark".  But this happens only AFTER the .gvimrc file has been read
	(because the window needs to be opened to find the actual background
	color).  To get around this, force the GUI window to be opened by
	putting a ":gui" command in the .gvimrc file, before where the value
	of 'background' is used (e.g., before ":syntax on").
	Normally this option would be set in the .vimrc file.  Possibly
	depending on the terminal name.  Example:
		:if &term == "pcterm"
		:  set background=dark
		:endif
 	When this option is set, the default settings for the highlight groups
	will change.  To use other settings, place ":highlight" commands AFTER
	the setting of the 'background' option.
	This option is also used in the "$VIMRUNTIME/syntax/syntax.vim" file
	to select the colors for syntax highlighting.  After changing this
	option, you must load syntax.vim again to see the result.  This can be
	done with ":syntax on".


							*'backspace'* *'bs'*
'backspace' 'bs'	string	(default "")
			global
			{not in Vi}
	Influences the working of <BS>, <Del>, CTRL-W and CTRL-U in Insert
	mode.  This is a list of items, separated by commas.  Each item allows
	a way to backspace over something:
	value	effect	
	indent	allow backspacing over autoindent
	eol	allow backspacing over line breaks (join lines)
	start	allow backspacing over the start of insert; CTRL-W and CTRL-U
		stop once at the start of insert.

	When the value is empty, Vi compatible backspacing is used.

	For backwards compatibility with version 5.4 and earlier:
	value	effect	
	  0	same as ":set backspace=" (Vi compatible)
	  1	same as ":set backspace=indent,eol"
	  2	same as ":set backspace=indent,eol,start"

	See |:fixdel| if your <BS> or <Del> key does not do what you want.
	NOTE: This option is set to "" when 'compatible' is set.


				*'backup'* *'bk'* *'nobackup'* *'nobk'*
'backup' 'bk'		boolean	(default off)
			global
			{not in Vi}
	Make a backup before overwriting a file.  Leave it around after the
	file has been successfully written.  If you do not want to keep the
	backup file, but you do want a backup while the file is being
	written, reset this option and set the 'writebackup' option (this is
	the default).  If you do not want a backup file at all reset both
	options (use this if your file system is almost full).  See the
	|backup-table| for more explanations.
	When the 'backupskip' pattern matches, a backup is not made anyway.
	When 'patchmode' is set, the backup may be renamed to become the
	oldest version of a file.
	NOTE: This option is reset when 'compatible' is set.


						*'backupcopy'* *'bkc'*
'backupcopy' 'bkc'	string	(Vi default for Unix: "yes", otherwise: "auto")
			global
			{not in Vi}
	When writing a file and a backup is made, this option tells how it's
	done.  This is a comma separated list of words.

	The main values are:
	"yes"	make a copy of the file and overwrite the original one
	"no"	rename the file and write a new one
	"auto"	one of the previous, what works best

	Extra values that can be combined with the ones above are:
	"breaksymlink"	always break symlinks when writing
	"breakhardlink"	always break hardlinks when writing

	Making a copy and overwriting the original file:
	- Takes extra time to copy the file.
	+ When the file has special attributes, is a (hard/symbolic) link or
	  has a resource fork, all this is preserved.
	- When the file is a link the backup will have the name of the link,
	  not of the real file.

	Renaming the file and writing a new one:
	+ It's fast.
	- Sometimes not all attributes of the file can be copied to the new
	  file.
	- When the file is a link the new file will not be a link.

	The "auto" value is the middle way: When Vim sees that renaming file
	is possible without side effects (the attributes can be passed on and
	and the file is not a link) that is used.  When problems are expected,
	a copy will be made.

	The "breaksymlink" and "breakhardlink" values can be used in
	combination with any of "yes", "no" and "auto".  When included, they
	force Vim to always break either symbolic or hard links by doing
	exactly what the "no" option does, renaming the original file to
	become the backup and writing a new file in its place.  This can be
	useful for example in source trees where all the files are symbolic or
	hard links and any changes should stay in the local source tree, not
	be propagated back to the original source.

							*crontab*
	One situation where "no" and "auto" will cause problems: A program
	that opens a file, invokes Vim to edit that file, and then tests if
	the open file was changed (through the file descriptor) will check the
	backup file instead of the newly created file.  "crontab -e" is an
	example.

	When a copy is made, the original file is truncated and then filled
	with the new text.  This means that protection bits, owner and
	symbolic links of the original file are unmodified.  The backup file
	however, is a new file, owned by the user who edited the file.  The
	group of the backup is set to the group of the original file.  If this
	fails, the protection bits for the group are made the same as for
	others.

	When the file is renamed this is the other way around: The backup has
	the same attributes of the original file, and the newly written file
	is owned by the current user.  When the file was a (hard/symbolic)
	link, the new file will not!  That's why the "auto" value doesn't
	rename when the file is a link.  The owner and group of the newly
	written file will be set to the same ones as the original file, but
	the system may refuse to do this.  In that case the "auto" value will
	again not rename the file.


						*'backupdir'* *'bdir'*
'backupdir' 'bdir'	string	(default for Amiga: ".,t:",
				 for MS-DOS and Win32: ".,c:/tmp,c:/temp"
				 for Unix: ".,~/tmp,~/")
			global
			{not in Vi}
	List of directories for the backup file, separated with commas.
	- The backup file will be created in the first directory in the list
	  where this is possible.
	- Empty means that no backup file will be created ('patchmode' is
	  impossible!).  Writing may fail because of this.
	- A directory "." means to put the backup file in the same directory
	  as the edited file.
	- A directory starting with "./" (or ".\" for MS-DOS et al.) means to
	  put the backup file relative to where the edited file is.  The
	  leading "." is replaced with the path name of the edited file.
	  ("." inside a directory name has no special meaning).
	- Spaces after the comma are ignored, other spaces are considered part
	  of the directory name.  To have a space at the start of a directory
	  name, precede it with a backslash.
	- To include a comma in a directory name precede it with a backslash.
	- A directory name may end in an '/'.
	- Environment variables are expanded |:set_env|.
	- Careful with '\' characters, type one before a space, type two to
	  get one in the option (see |option-backslash|), for example:
	    :set bdir=c:\\tmp,\ dir\\,with\\,commas,\\\ dir\ with\ spaces
 	- For backwards compatibility with Vim version 3.0 a '>' at the start
	  of the option is removed.
	See also 'backup' and 'writebackup' options.
	If you want to hide your backup files on Unix, consider this value:
		:set backupdir=./.backup,~/.backup,.,/tmp
 	You must create a ".backup" directory in each directory and in your
	home directory for this to work properly.
	The use of |:set+=| and |:set-=| is preferred when adding or removing
	directories from the list.  This avoids problems when a future version
	uses another default.
	This option cannot be set from a |modeline| or in the |sandbox|, for
	security reasons.


						*'backupext'* *'bex'* *E589*
'backupext' 'bex'	string	(default "~", for VMS: "_")
			global
			{not in Vi}
	String which is appended to a file name to make the name of the
	backup file.  The default is quite unusual, because this avoids
	accidentally overwriting existing files with a backup file.  You might
	prefer using ".bak", but make sure that you don't have files with
	".bak" that you want to keep.
	Only normal file name characters can be used, "/\*?[|<>" are illegal.

	If you like to keep a lot of backups, you could use a BufWritePre
	autocommand to change 'backupext' just before writing the file to
	include a timestamp.
		:au BufWritePre * let &bex = '-' . strftime("%Y%b%d%X") . '~'
 	Use 'backupdir' to put the backup in a different directory.


						*'backupskip'* *'bsk'*
'backupskip' 'bsk'	string	(default: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
			global
			{not in Vi}
			{not available when compiled without the |+wildignore|
			feature}
	A list of file patterns.  When one of the patterns matches with the
	name of the file which is written, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in response to a |:cd|
			command.

							*E676*
	"acwrite" implies that the buffer name is not related to a file, like
	"nofile", but it will be written.  Thus, in contrast to "nofile" and
	"nowrite", ":w" does work and a modified buffer can't be abandoned
	without saving.  For writing there must be matching |BufWriteCmd|,
	|FileWriteCmd| or |FileAppendCmd| autocommands.


						*'casemap'* *'cmp'*
'casemap' 'cmp'		string	(default: "internal,keepascii")
			global
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	Specifies details about changing the case of letters.  It may citten, no backup file is created.  Both
	the specified file name and the full path name of the file are used.
	The pattern is used like with |:autocmd|, see |autocmd-patterns|.
	Watch out for special characters, see |option-backslash|.
	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
	default value.  "/tmp/*" is only used for Unix.
	Note that the default also makes sure that "crontab -e" works (when a
	backup would be made by renaming the original file crontab won't see
	the newly created file).  Also see 'backupcopy' and |crontab|.


						*'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'	number	(default: 600)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Delay in milliseconds before a balloon may pop up.  See |balloon-eval|.


		       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'	boolean	(default off)
			global
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Switch on the |balloon-eval| functionality.


						     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'	string	(default "")
			global or local to buffer |global-local|
			{not in Vi}
			{only available when compiled with the |+balloon_eval|
			feature}
	Expression for text to show in evaluation balloon.  It is only used
	when 'ballooneval' is on.  These variables can be used:

	v:beval_bufnr	number of the buffer in which balloon is going to show
	v:beval_winnr	number of the window
	v:beval_lnum	line number
	v:beval_col	column number (byte index)
	v:beval_text	word under or after the mouse pointer

	The evaluation of the expression must not have side effects!
	Example:
    function! MyBalloonExpr()
	return 'Cursor is at line ' . v:beval_lnum .
		\', column ' . v:beval_col .
		\ ' of file ' .  bufname(v:beval_bufnr) .
		\ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval
 
	NOTE: The balloon is displayed only if the cursor is on a text
	character.  If the result of evaluating 'balloonexpr' is not empty,
	Vim does not try to send a message to an external debugger (Netbeans
	or Sun Workshop).

	The expression may be evaluated in the |sandbox|, see
	|sandbox-option|.

	It is not allowed to change text or jump to another window while
	evaluating 'balloonexpr' |textlock|.

	To check whether line breaks in the balloon text work use this check:
		if has("balloon_multiline")
 	When they are supported "\n" characters will start a new line.  If the
	expression evaluates to a |List| this is equal to using each List item
	as a string and putting "\n" in between them.


				     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'		boolean	(default off)
			local to buffer
			{not in Vi}
	This option should be set before editing a binary file.  You can also
	use the |-b| Vim argument.  When this option is switched on a few
	options will be changed (also when it already was on):
		'textwidth'  will be set to 0
		'wrapmargin' will be set to 0
		'modeline'   will be off
		'expandtab'  will be off
	Also, 'fileformat' and 'fileformats' options will not be used, the
	file is read and written like 'fileformat' was "unix" (a single <NL>
	separates lines).
	The 'fileencoding' and 'fileencodings' options will not be used, the
	file is read without conversion.
	NOTE: When you start editing a(nother) file while the 'bin' option is
	on, settings from autocommands may change the settings again (e.g.,
	'textwidth'), causing trouble when editing.  You might want to set
	'bin' again when the file has been loaded.
	The previous values of these options are remembered and restored when
	'bin' is switched from on to off.  Each buffer has its own set of
	saved option values.
	To edit a file with 'binary' set you can use the |++bin| argument.
	This avoids you have to do ":set bin" which would have effect for all
	files you edit.
	When writing a file the <EOL> for the last line is only written if
	there was one in the original file (normally Vim appends an <EOL> to
	the last line if there is none; this would make the file longer).  See
	the 'endofline' option.


			*'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'	boolean	(default on)
			global
			{not in Vi}  {only for MS-DOS}
	When on the BIOS is called to obtain a keyboard character.  This works
	better to detect CTRL-C, but only works for the console.  When using a
	terminal over a serial port reset this option.
	Also see |'conskey'|.


							*'bomb'* *'nobomb'*
'bomb'			boolean	(default off)
			local to buffer
			{not in Vi}
			{only available when compiled with the |+multi_byte|
			feature}
	When writing a file and the following conditions are met, a BOM (Byte
	Order Mark) is prepended to the file:
	- this option is on
	- the 'binary' option is off
	- 'fileencoding' is "utf-8", "ucs-2", "ucs-4" or one of the little/big
	  endian variants.
	Some applications use the BOM to recognize the encoding of the file.
	Often used for UCS-2 files on MS-Windows.  For other applications it
	causes trouble, for example: "cat file1 file2" makes the BOM of file2
	appear halfway the resulting file.
	When Vim reads a file and 'fileencodings' starts with "ucs-bom", a
	check for the presence of the BOM is done and 'bomb' set accordingly.
	Unless 'binary' is set, it is removed from the first line, so that you
	don't see it when editing.  When you don't change the options, the BOM
	will be restored when writing the file.


						*'breakat'* *'brk'*
'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
			global
			{not in Vi}
			{not available when compiled without the  |+linebreak|
			feature}
	This option lets you choose which characters might cause a line
	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
	characters when 'encoding' is an 8-bit encoding.


						*'browsedir'* *'bsdir'*
'browsedir' 'bsdir'	string	(default: "last")
			global
			{not in Vi} {only for Motif and Win32 GUI}
	Which directory to use for the file browser:
	   last		Use same directory as with last file browser.
	   buffer	Use the directory of the related buffer.
	   current	Use the current directory.
	   {path}	Use the specified directory


						*'bufhidden'* *'bh'*
'bufhidden' 'bh'	string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	This option specifies what happens when a buffer is no longer
	displayed in a window:
	  <empty>	follow the global 'hidden' option
	  hide		hide the buffer (don't unload it), also when 'hidden'
			is not set
	  unload	unload the buffer, also when 'hidden' is set or using
			|:hide|
	  delete	delete the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bdelete|
	  wipe		wipe out the buffer from the buffer list, also when
			'hidden' is set or using |:hide|, like using
			|:bwipeout|

	CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
	are lost without a warning.
	This option is used together with 'buftype' and 'swapfile' to specify
	special kinds of buffers.   See |special-buffers|.


			*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'	boolean (default: on)
			local to buffer
			{not in Vi}
	When this option is set, the buffer shows up in the buffer list.  If
	it is reset it is not used for ":bnext", "ls", the Buffers menu, etc.
	This option is reset by Vim for buffers that are only used to remember
	a file name or marks.  Vim sets it when starting to edit a buffer.
	But not when moving to a buffer with ":buffer".


						*'buftype'* *'bt'* *E382*
'buftype' 'bt'		string (default: "")
			local to buffer
			{not in Vi}
			{not available when compiled without the |+quickfix|
			feature}
	The value of this option specifies the type of a buffer:
	  <empty>	normal buffer
	  nofile	buffer which is not related to a file and will not be
			written
	  nowrite	buffer which will not be written
	  acwrite	buffer which will always be written with BufWriteCmd
			autocommands. {not available when compiled without the
			|+autocmd| feature}
	  quickfix	quickfix buffer, contains list of errors |:cwindow|
			or list of locations |:lwindow|
	  help		help buffer (you are not supposed to set this
			manually)

	This option is used together with 'bufhidden' and 'swapfile' to
	specify special kinds of buffers.   See |special-buffers|.

	Be careful with changing this option, it can have many side effects!

	A "quickfix" buffer is only used for the error list and the location
	list.  This value is set by the |:cwindow| and |:lwindow| commands and
	you are not supposed to change it.

	"nofile" and "nowrite" buffers are similar:
	both:		The buffer is not to be written to disk, ":w" doesn't
			work (":w filename" does work though).
	both:		The buffer is never considered to be |'modified'|.
			There is no warning when the changes will be lost, for
			example when you quit Vim.
	both:		A swap file is only created when using too much memory
			(when 'swapfile' has been reset there is never a swap
			file).
	nofile only:	The buffer name is fixed, it is not handled like a
			file name.  It is not modified in respo