README_extra.txt for version 7.2 of Vim: Vi IMproved.

The extra archive of Vim is to be used in combination with the source archive
(vim-7.2-src.tar.gz).  The extra archive is useless without it.

For more information, see the "README.txt" file that comes with the runtime
archive (vim-7.2-rt.tar.gz).  To be able to run Vim you MUST get the runtime
archive too!

The extra archive plus the source and runtime archives make up the complete
sources of Vim for all systems.


Some of the things that the extra archive contains:

Farsi		Files for the Farsi (persian) language.  If you don't know
		what Farsi is, this is not for you.

if_sniff	Interface to SNiFF.  If you don't know what SNiFF is, this is
		not for you.

os_amiga	Files for the Amiga port.

gui_riscos
os_riscos	Files for the RISC OS port.

gui_beos
os_beos		Files for the BeOS port.

os_msdos
os_dos		Files for the MS-DOS port.

gui_mac
os_mac		Files for the Mac port.

os_mint		Files for the Atari Mint port.

os_os2		Files for the OS/2 port.
tee		Extra program for OS/2.

os_vms		Files for the VMS port.

os_w32
os_win32	Files for the Win32 port.

gui_w32		Files for the Win32 GUI.
gui_w48		Files for the Win32 and Win16 GUI.
Make_mvc.mak	MS Visual C++ makefile for the Win32 GUI.
rgb.txt		File with color definitions for the Win32 GUI.

if_ole		OLE automation interface, for MS Windows 95 and NT.

VisVim		Integration of Win32 GUI with MS Visual Developer Studio.

GvimExt		DLL for the "Edit with Vim" context menu entry

nsis		NSIS script to build the self-installing MS-Windows exe

*.man		Preprocessed manual pages.

file_select.vim	Vim script to browse directories (Unix only).
