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.

dvorak			for when you use a Dvorak keyboard

justify.vim		user function for justifying text

matchit.vim + matchit.txt  make % match if-fi, HTML tags, and much more

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.  It can be found in the extra archive:
file_select.vim		macros that make a handy file selector
