README_extra.txt for version 7.0d of Vim: Vi IMproved.

The extra archive of Vim is to be used in combination with the source archive
(vim-6.0-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-6.0-rt.tar.gz).  To be able to run Vim you MUST get the runtime
archive too!

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


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.

gui_amiga
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.
Gvim_vc.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).
