The macros in the maze, hanoi and urm directories can be used to test Vim for
vi compatibility.  They have been written for vi to show its unlimited
possibilities.	The life macros can be used for performance comparisons.

hanoi	Macros that solve the tower of hanoi problem.
life	Macros that run Conway's game of life.
maze	Macros that solve a maze (amazing!).
urm	Macros that simulate a simple computer: "Universal Register Machine"


The other files contain some handy utilities.  They also serve as examples for
how to use Vi and Vim functionality.

justify.vim		user function for justifying text

less.sh + less.vim	make Vim work like less (or more)

shellmenu.vim		menus for editing shell scripts in the GUI version

swapmous.vim		swap left and right mouse buttons

editexisting.vim	when editing a file that is already edited with
			another Vim instance

This one is only for Unix.
file_select.vim		macros that make a handy file selector

The matchit plugin has been moved to an optional package.  To load it put this
line in your vimrc file:
	packadd! matchit

The Dvorak supported has been moved to an optional package.  To load it put
this line in your vimrc file:
	packadd! dvorak
