name		abbr	type	default		description
---------------+-------+-------+---------------+-------------------------------
autoindent	as	Bool	FALSE		autoindent during input?
autowrite	aw	Bool	FALSE		write file for :n command?
charattr	ca	Bool	FALSE		display bold & underline chars?
columns		co	Number	80		width of screen, in characters
exrefresh	er	Bool	TRUE		EX mode calls write() often?
ignorecase	ic	Bool	FALSE		searches: upper/lowercase OK?
keytime		kt	Number	1		allow slow receipt of ESC seq?
keywordprg	kp	String	"/usr/bin/ref"	program to run for shift-K
lines		li	Number	25		height of screen, in lines
magic		ma	Bool	TRUE		searches: allow metacharacters?
paragraphs	pa	String	"PPppPApa"	paragraphs start with .PP, etc.
readonly	ro	Bool	FALSE		no file should be written back?
report		re	Number	5		report changes to X lines?
scroll		sc	Number	12		default #lines for ^U and ^D
sections	se	String	"SEseSHsh"	sections start with .SE, etc.
shell		sh	String	"/bin/sh"	shell program, from environment
shiftwidth	sw	Number	8		width of < or > commands
sidescroll	ss	Number	8		#chars to scroll sideways by
tabstop		ts	Number	8		width of a tab character
term		te	String	"?"		terminal type, from environment
vbell		vb	Bool	TRUE		use visible bell if possible?
wrapmargin	wm	Number	0		insert newline after which col?
wrapscan	ws	Bool	TRUE		searches: wrap at EOF?

autoindent
	During input mode, the autoindent option will cause each added line
	to begin with the same amount of leading whitespace as the line above
	it.  Without autoindent, added lines are initially empty.

autowrite
	When you're editing one file and decide to switch to another --
	via the :tag command, or :next command, perhaps -- if your current
	file has been modified, then Elvis will normally print an error
	message and refuse to switch.

	However, if the autowrite option is on, then Elvis will write the
	modified version of the current file and successfully switch to the
	new file.

charattr
	Many text formatting programs allow you to designate portions of
	your text to be underlined, italicized, or boldface by embedding
	the special strings \fU, \fI, and \fB in your text.  The special
	string \fR marks the end of underlined or boldface text.

	Elvis normally treats those special strings just like any other
	text.

	However, if the charattr option is on, then Elvis will interpret
	those special strings correctly, to display underlined or boldface
	text on the screen.  (This only works, of course, if your terminal
	can display underlined and boldface, and if the TERMCAP entry says
	how to do it.)

columns
	This is a "read only" option.  You can't change its value, but you
	can have Elvis print it.  It shows how wide your screen is.

exrefresh
	The EX mode of Elvis writes many lines to the screen.  You can make
	Elvis either write each line to the screen separately, or save up
	many lines and write them all at once.

	The exrefresh option is normally on, so each line is written to the
	screen separately.

	You may wish to turn the exrefresh option off (:se noer) if the
	"write" system call is costly on your machine, or if you're using a
	windowing environment.  (Windowing environments scroll text a lot
	faster when you write many lines at once.)

	This option has no effect in VI mode.

ignorecase
	Normally, when Elvis searches for text, it treats uppercase letters
	as being different for lowercase letters.

	When the ignorecase option is on, uppercase and lowercase are treated
	as equal.

keytime
	The arrow keys of most terminals send a multi-character sequence.
	It takes a measurable amount of time for these sequences to be
	transmitted.  The keytime option allows you to control the maximum
	amount of time to allow for an arrow key (or other mapped key) to
	be received in full.

	The default keytime value is 2.  Because of the way UNIX timekeeping
	works, the actual amount of time allowed will vary slightly, but it
	will always be between 1 and 2 seconds.

	If you set keytime to 1, then the actual amount of time allowed will
	be between 0 and 1 second.  This will generally make the keyboard's
	response be a little faster (mostly for the ESC key), but on those
	occasions where the time allowed happens to be closer to 0 than 1
	second, Elvis may fail to allow enough time for an arrow key's
	sequence to be received fully.  Ugh.

	As a special case, you can set keytime to 0 to disable this time
	limit stuff altogether.  The big problem here is:  If your arrow
	keys' sequences start with an ESC, then every time you hit your ESC
	key Elvis will wait... and wait... to see if maybe that ESC was
	part of an arrow key's sequence.

	NOTE: this option is a generalization of the timeout option of the
	real vi.

keywordprg
	Elvis has a special keyword lookup feature.  You move the cursor
	onto a word, and hit shift-K, and Elvis uses another program to
	look up the word and display information about it.

	This option says which program gets run.  It should contain the full
	pathname of the program; your whole execution path is *not* checked.

	The default value of this option is "/usr/bin/ref", which is a
	program that looks up the definition of a function in C.  It looks
	up the function name in a file called "refs" which is created by
	ctags.

	You can subtitute other programs, such as an English dictionary
	program or the online manual.  Elvis runs the program, using the
	keyword as its only argument.  The program should write information
	to stdout.  The program's exit status should be 0, unless you want
	Elvis to print "<<< failed >>>".

lines
	This "read only" option shows how many lines you screen has.

magic
	The search mechanism in Elvis can accept "regular expressions" --
	strings in which certain characters have special meaning.

	The magic option is normally on, which causes these characters to
	be treated specially.

	If you turn the magic option off (:se noma), then all characters
	except ^ and $ are treated literally.   ^ and $ retain their special
	meanings regardless of the setting of magic.

paragraphs
	The { and } commands move the cursor forward or backword in increments
	of one paragraph.  Paragraphs may be separated by blank lines, or by
	a "dot" command of a text formatter.  Different text formatters use
	different "dot" commands.  This option allows you to configure Elvis
	to work with your text formatter.

	It is assumed that your formatter uses commands that start with a
	"." character at the front of a line, and then have a one- or
	two-character command name.

	The value of the paragraphs option is a string in which each pair
	of characters is one possible form of your text formatter's paragraph
	command.

readonly
	Normally, Elvis will let you write back any file to which you have
	write permission.  If you don't have write permission, then you
	can only write the changed version of the file to a *different*
	file.

	If you set the readonly option, then Elvis will pretend you don't
	have write permission to *ANY* file you edit.  It is useful when
	you really only mean to use Elvis to look at a file, not to change
	it.  This way you can't change it accidentally.

	This option is normally off, unless you use the "view" alias of Elvis.
	"View" is like "vi" except that the readonly option is on.

report
	Commands in Elvis may affect many lines.  For commands that affect
	a lot of lines, Elvis will output a message saying what was done and
	how many lines were affected.  This option allows you to define
	what "a lot of lines" means.  The default is 5, so any command which
	affects 5 or more lines will cause a message to be shown.

scroll
	The control-U and control-D keys normally scroll backward or forward
	by half a screenful, but this is adjustable.  The value of this option
	says how many lines those keys should scroll by.

sections
	The [[ and ]] commands move the cursor backward or forward in
	increment of 1 section.  Sections may be delimited by a { character
	in column 1 (which is useful for C source code) or by means of
	a text formatter's "dot" commands.

	This option allows you to configure Elvis to work with your text
	formatter's "section" command, in exectly the same way that the
	paragraphs option makes it work with the formatter's "paragraphs"
	command.

shell
	When Elvis forks a shell (perhaps for the :! or :shell commands)
	this is the program that is uses as a shell.  This is "/bin/sh"
	by default, unless you have set the SHELL environment variable,
	it which case the default value is copied from the environment.

shiftwidth
	The < and > commands shift text left or right by some uniform number
	of columns.  The shiftwidth option defines that "uniform number".
	The default is 8.

sidescroll
	For long lines, Elvis scrolls sideways.  (This is different from
	the real vi, which wraps a single long line onto several rows of
	the screen.)

	To minimize the number of scrolls needed, Elvis moves the screen
	sideways by several characters at a time.  The value of this option
	says how many characters' widths to scroll at a time.

	Generally, the faster your screen can be redrawn, the lower the value
	you will want in this option.

tabstop
	Tab characters are normally 8 characters wide, but you can change
	their widths by means of this option.

term
	This "read only" option shows the name of the termcap entry that
	Elvis is using for your terminal.

vbell
	If your termcap entry describes a visible alternative to ringing
	your terminal's bell, then this option will say whether the visible
	version gets used or not.  Normally it will be.

	If your termcap does NOT include a visible bell capability, then
	the vbell option will be off, and you can't turn it on.

wrapmargin
	Normally (with wrapmargin=0) Elvis will let you type in extremely long
	lines, if you wish.

	However, with warpmargin set to something other that 0 (wrapmargin=65
	is nice), Elvis will automatically cause long lines to be "wrapped"
	on a word break for lines longer than wrapmargin's setting.

wrapscan
	Normally, when you search for something, Elvis will find it no matter
	where it is in the file.  Elvis starts at the cursor position, and
	searches forward.  If Elvis hits EOF without finding what you're
	looking for, then it wraps around to continue searching from line 1.

	If you turn off the wrapscan option (:se nows), then when Elvis hits
	EOF during a search, it will stop and say so.
