Vim Tips Wiki

Building Vim

Revision as of 14:11, May 29, 2013 by (Talk)

1,619pages on
this wiki
Tip 376 Printable Monobook Previous Next

created 2002 · complexity basic · version 7.0

This tip presents an overview of how to download the source for Vim, then build a Vim executable, and install it on your system. You need to download the C source code and the runtime files (standard plugins, help files, and more). You may also need to download dependencies (packages required for building), and you will need a compiler/linker (free versions are available for almost all systems). See where to download Vim if you want to download the Vim program to run on your system, without building it yourself.

Any platform

It is easy to build Vim from the source code. In general, it takes four steps:

  1. Get dependencies. On Unix-like systems, apt-get build-dep vim-gnome or similar can do this for you. On Windows, there are no dependencies, unless you want to build Vim to use an external DLL for Lua, Perl, Python, Ruby, or Scheme (and you can install these later).
    Note: apt-get is for Debian, Ubuntu and similar distributions. On other distributions, the corresponding program may be called yum, yast, zypper, or otherwise, and the way to invoke it may vary widely. It is usually the same program as the one used on your distro to install, update, or uninstall any software package, and if you are lucky, there may be a manpage for it.
  2. Get the Vim source code from Mercurial.
  3. Change to the directory with the Vim source code and run "make".
  4. Do a "make install" or manually copy necessary files to somewhere Vim knows to use. See :help $VIMRUNTIME for details and our tip on manually locating your Vim files.


Following works but is obsolete; see above for link on using Mercurial.
The following applies to Unix-based systems, and Windows.

Download the source from

  • vim-7.2.tar.bz2 (7.1MB)

Download the extras from

  • vim-7.2-extra.tar.gz (0.8MB)
  • vim-7.2-lang.tar.gz (1.4MB)

Expand each in the same directory, for example somewhere/vim/build/72/

Download the patches from

Apply the patches.


Build (compile and link).


Building Vim on Ubuntu

You need the required development packages on Ubuntu to build the GUI:

sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
  libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
  libcairo2-dev libx11-dev libxpm-dev libxt-dev

Commands to build and install GUI Vim:

$ cd vim7
$ cd src
$ make distclean
$ ./configure --with-features=huge --enable-gui=gnome2
$ make
$ sudo make install

Building Vim .debs on Ubuntu/Debian

Commands to get started and build the first time.

$ sudo apt-get install mercurial libssl-dev
$ sudo apt-get build-dep vim
$ hg clone
$ cd vim
$ hg checkout unstable
$ debian/rules update-orig
$ dpkg-buildpackage -i -I
$ cd ..

And to update Vim .debs

$ cd vim
$ hg pull
$ hg update
$ debian/rules update-orig
$ dpkg-buildpackage -i -I
$ cd ..


In Vim, the command :version includes "Compiled by user@host" (the user and computer host names are provided by the operating system).

The configuration option --with-compiledby can be used to set the exact "Compiled by" text (for example, to include an email address).

See also

Tips, some of which need updating

External sites with how-to information on building Vim



  • Need info on how to install the shell extensions (e.g. "edit with Vim" context menu entry) on Windows. Do we have a tip for this already?
  • Also for other stuff included in the standard installation, like diff.exe.
  • On Windows systems, investigate what install.exe is: note that it is often not needed; what does it do? how is it used? does it work?

When you build Vim on Windows, install.exe is built from src/dosinst.c. Its purpose is to add registry entries for the "Edit with Vim" entry on the Windows Explorer context menu (see :help gui_w32.txt). It is possible to manually change the registry to add or modify "Edit with Vim". The relevant tips are:

The only tip with info on diff.exe is:

Make sure the library names are correct for all or most distributions. In the Linux dist I'm using it seems the libraries are named <X>-devel instead of <X>-dev. Michael Greene 15:50 Feb 27, 2011 (UTC)

Around Wikia's network

Random Wiki