Vim

Our project is loosely maintaining some current Vim binaries, tracking a few unofficial patches, and providing or pointing to some other miscellaneous resources for Vim, without any of the Cream customizations.

On This Page
Vim Packages
Patches and Custom Resources
Compiling HOWTO

Vim Packages

The packages below support all standard GUI Vim distribution features such as OLE, multi-byte, Perl, Python and TCL, plus the patches and additional features listed under each. You can read more about the specific patches in the Vim patch README (FTP).

Note that our installers are not the same as that of official Vim. We rely on the Nullsoft Installer for all installation capabilities, not on Vim's install.exe. Please mail us with questions or problems, not the Vim lists.

Current

6.3.025

gVim 6.3.025, Installer for Windows ("gvim-6-3-025.exe", 2.8M, 2004-09-06) -- One-click Nullsoft installer.

  • Includes both gvim.exe (GUI Vim) and vim.exe (console Vim).
  • Updated through official patch level 6.3.025.
  • Includes runtime files updated as of build date.
  • Adds a (beta) uninstaller. (Beta! You are prompted with the location being removed but we can not guarantee that it won't eat your data, hard drive, pets, or the wildlife within the nearest eight hectares of your physical location.)
  • Includes Dan Sharp's stub for BCC adjustments for TCL (tclstub##-bor.lib).
  • Includes Vince Negri's &conceal, &cursorbind, :ownsyntax patch. See the help topics "w:ownsyntax-variable", "'conceallevel", "'cursorbind", ":syn-conceal", ":syn-concealends", ":syn-cchar", ":syn-conceal-implicit", "hl-Conceal", and ":ownsyntax" for what this patch adds.
  • Adds support for Ruby interface feature (+ruby/dyn).
  • Supports Perl 5.8, Python 2.2, Ruby 1.8, and TCL 8.3. Netbeans is supported by default. (Note the regression in the TCL version, we found a problem referencing Active State's version of 8.4.)

RPMS

Packages by Neil Bird:

Vim RPMS Packages -- RPMS packages by Jeremy Brand. (not current)

Older

6.3.003

gVim 6.3.003, Installer for Windows ("gvim-6-3-003.exe", 2.7M, 2004-06-15) -- One-click Nullsoft installer.

  • Includes both gvim.exe (GUI Vim) and vim.exe (console Vim).
  • Updated through official patch level 6.3.003.
  • Includes runtime files updated as of build date.
  • Includes Dan Sharp's stub for BCC adjustments for TCL (tclstub84-bor.lib).
  • Includes Vince Negri's &conceal, &cursorbind, :ownsyntax patch. See the help topics "w:ownsyntax-variable", "'conceallevel", "'cursorbind", ":syn-conceal", ":syn-concealends", ":syn-cchar", ":syn-conceal-implicit", "hl-Conceal", and ":ownsyntax" for what this patch adds.
  • Adds support for Ruby interface feature (+ruby/dyn).
  • Supports Perl 5.8, Python 2.2, Ruby 1.8, and TCL 8.4. Netbeans is supported by default.
6.2.429

gVim 6.2.429, Installer for Windows ("gvim-6-2-429.exe", 2.7M, 2004-04-xx) -- One-click Nullsoft installer.

  • Includes both gvim.exe (GUI Vim) and vim.exe (console Vim). (New NSIS LZMA compression is perhaps 20-30% more efficient than bzip!)
  • Updated through official patch level 6.2.494.
  • Includes runtime files updated as of build date.
  • Includes Dan Sharp's stub for BCC adjustments for TCL (tclstub84-bor.lib).
  • Includes Vince Negri's &conceal, &cursorbind, :ownsyntax patch. See the help topics "w:ownsyntax-variable", "'conceallevel", "'cursorbind", ":syn-conceal", ":syn-concealends", ":syn-cchar", ":syn-conceal-implicit", "hl-Conceal", and ":ownsyntax" for what this patch adds.
  • Includes an unofficial patch by Vim's author, Bram Moolenaar, to fix :browse open file dialog on Win95.
  • Adds support for Ruby interface feature (+ruby/dyn).
  • Supports Perl 5.8, Python 2.2, Ruby 1.8, and TCL 8.4. Netbeans is supported by default.
  • Note: Our installer currently overwrites an existing Vim installation without warning. This will be changing soon, but for now, if you want to keep something in your existing program location, BACK IT UP FIRST! A few other improvements are in the works, too, but for now consider this installer beta quality software.
6.2.225

gVim 6.2.225, Installer for Windows ("gvim-6-2-225.exe", 2.8M, 2004-02-03) -- One-click Nullsoft installer.

  • Updated through official patch level 6.2.225.
  • Includes runtime files updated as of build date.
  • Includes Dan Sharp's stub for BCC adjustments for TCL (tclstub84-bor.lib).
  • Includes Vince Negri's &conceal, &cursorbind, :ownsyntax patch. See the help topics "w:ownsyntax-variable", "'conceallevel", "'cursorbind", ":syn-conceal", ":syn-concealends", ":syn-cchar", ":syn-conceal-implicit", "hl-Conceal", and ":ownsyntax" for what this patch adds.
  • Adds support for Ruby interface feature (+ruby/dyn).
  • Supports Perl 5.8, Python 2.2, Ruby 1.6, and TCL 8.4. Netbeans is supported by default.
  • Note: Our installer currently overwrites an existing Vim installation without warning. This will be changing soon, but for now, if you want to keep something in your existing program location, BACK IT UP FIRST! A few other improvements are in the works, too, but for now consider this installer beta quality software.

gVim 6.2.225, Binary-only package for Windows ("gvim-6-2-225.zip", 1.4M, 2003-02-03) -- Contains patched binary files only! These files must be copied over an existing installation. Same features as above minus runtime files. (Note: this package contains binaries for both GUI Vim and Command Prompt Vim.)

6.2.170

gVim 6.2.170, Installer for Windows ("gvim-6-2-170.exe", 2.7M, 2003-12-31) -- One-click Nullsoft installer.

  • Updated through official patch level 6.2.170.
  • Includes runtime files updated as of build date.
  • Includes Dan Sharp's stub for BCC adjustments for TCL (tclstub84-bor.lib).
  • Includes Vince Negri's &conceal, &cursorbind, :ownsyntax patch. See the help topics "w:ownsyntax-variable", "'conceallevel", "'cursorbind", ":syn-conceal", ":syn-concealends", ":syn-cchar", ":syn-conceal-implicit", "hl-Conceal", and ":ownsyntax" for what this patch adds.
  • Adds support for Ruby interface feature (+ruby/dyn).
  • Supports Perl 5.8, Python 2.2, Ruby 1.6, and TCL 8.4. Netbeans is supported by default.

gVim 6.2.170, Binary-only package for Windows ("gvim-6-2-170.zip", 1.4M, 2003-12-31) -- Contains patched gVim and Vim binary files only! These files must be copied over an existing installation. Same features as above minus runtime files. (Note: this package contains binaries for both GUI Vim and Command Prompt Vim.)


Patches and Custom Resources

Cream

These are a few items our project has developed, now available from CVS:

  • gvim.nsi -- Nullsoft Installer (NSIS) configuration file.
  • vim-build-bcc.bat -- Our MS-DOS batch file which menus the entire build process, FTPs new patches and runtime files, patches the source, compiles, and packages the Nullsoft installer. You will need to read through the file and make necessary path and file name adjustments, but it is fairly well documented and is used regularly on both Win95a and WinXP. Please mail us for help, questions or improvements.
  • nsis-splash.bmp -- Splash screen bitmap.
  • nsis-checkboxes.bmp -- NSIS component checkboxes image file.
  • tools-*.bmp -- GUI Vim toolbar icon resources which modify original Vim icons with GNOME 2 versions. To use either of these, rename to "tools.bmp" and copy over the existing source file of the same name.
    • tools-24bit.bmp -- Full color icons.
    • tools-8bit-windows.bmp -- 256 color with the Windows color palette. Required on Windows systems to maintain the background transparency when toolbars aren't classic grey.
    • tools-4bit.bmp -- 16 color version, with properly adjusted colors.
  • makedict4.c -- C program to create Cream spell check wordlists from a generic wordlist.

Third Party

This is a collection of non-official, third party patches to Vim that our project prefers.

  • Conceal/Cursorbind/Ownsyntax patch -- Vince Negri's patch to add the &conceal and &cursorbind options and the :ownsyntax command.
  • tclstub83-bor.lib -- Dan Sharp's stub used with the TCL support option, accomodates differences in the BCC and MSVC configuration/compiling process.
  • Patch to add Tabs -- Read the thread, this is a good start but unfinished work.

Compiling HOWTO

This FAQ just documents some tricks I learned for compiling Vim on Windows platforms, with the Borland C Compiler. I'm an absolute novice at this so I'm only writing what I've found to be bulletproof for me. (Please check out the more expert and detailed HOWTO: Compiling Vim on Win32, by Dan Sharp.)

Setup

[Note: This is a metric ton of software, in the neighborhood of 30-50Mb minimum, but more like 300Mb for a full Cygwin installation.]

Start by downloading and installing Cygwin so that you have the gzip, tar, and patch utilities. (Truth is, you can find a smaller environment with MinGW or with stand-alone windows executables from GNUWin32 or GNU utilities for Win32. But many users like the full bash shell environment Cygwin provides and already have it installed.)

Then download and install the free Borland BCC compiler from here.

Then, download the Vim sources from here. Get Source, Runtime and Extra files just to be on the safe side.

Then, download the Vim patches to date, on the same page, here.

It's also probably a good idea to install Perl, Python, TCL, and Ruby if you you want Vim to be able to use them. (If you download Ruby, you can use it's installation of TCL.)

Compiling

Method 1 (Manually)

This was our first experiment in compiling Vim. Once you get the hang of it, you might want to use Method 2 which essentially automates all this in an MS-DOS batch file script.

  • Unpack the sources, preferably in a root directory C:\vim. This should give you a structure below called C:\vim\vim61.
  • Collect the patches into a single patch:
    • Put them all into a subdirectory C:\vim\vim61\patches.
    • Put them all into one big patch file in the Cygwin shell with cat /cygdrive/c/vim/vim61/patches/6.1.* > mypatches
  • Patch, using the patch command in the Cygwin shell from /cygdrive/c/vim/vim61. Type patch -p0 <./patches/mypatches. If you get any errors you're not doing something right.
  • Edit the C:\vim\vim61\src\Make_bc5.mak file definition lines at the top to add custom features you might want. I like Perl, Python, Ruby, TCL and OLE support, so I would plop this at the file's beginning:
    
    ##### My Customizations ##########
      BOR = c:\bcc
    
      PERL = d:\perl
      DYNAMIC_PERL = yes
      PERL_VER = 56
    
      PYTHON = c:\python22
      DYNAMIC_PYTHON = yes
      PYTHON_VER = 22
    
      RUBY = c:\ruby
      DYNAMIC_RUBY = yes
      RUBY_VER = 16
      RUBY_VER_LONG = 1.6
    
      TCL = c:\ruby\tcl
      DYNAMIC_TCL = yes
      TCL_VER = 83
    
      OLE = yes
    ##################################

    Note that I had problems getting ActiveState's TCL installation libraries to work, and found I could reference Ruby's installation of TCL easily. Your mileage may vary. ;)

  • If you decide to add TCL, download Dan Sharp's tclstub83-bor.lib stub for the Borland C Compiler and drop it into the src directory.
  • You may want to use Cream's tools.bmp from above with GNOME 2 icons. If so, put it into src\, too.
  • Then compile. From a DOS shell (command prompt) within C:\vim\vim61\src type make -fMake_bc5.mak. On a P3-450mH machine this takes about a minute or two, on a P4-2gH machine only about 20 seconds.
  • If you get a "command not found" message, you probably haven't put the Borland compiler in your path.
  • Everything should be clean. If you see errors or don't end up with a gvim.exe file in your src directory something (simple) went wrong. Mail me and I'll see if I can help, it's usually just some kind of path problem.
  • Now just copy the binaries you just created (they'll have the current date/time) over your existing Vim installation location (after backing up of course ;). Then you should probably go to ftp.vim.org/pub/vim/runtime and download all the updated runtime files. Generally, you'll find as many bug fixes and feature additions here as you will within the binaries themselves.
  • Once you start gVim and :version looks ok, type :execute 'helptags '.$VIMRUNTIME.'/doc' to add help document revisions to the list of help tags you can jump to.
Method 2 (Scripted)

Use the MS-DOS build batch file (in the Patches and Custom Resources section above) which scripts the entire process.

Building an Installer

We've had great success building Windows installers with the Nullsoft Installer. If you download version 2, you can use our script from the Patches and Custom Resources section above.