/vim-win32-installer

Vim Win32 Installer

Primary LanguageBatchfile

Build status GitHub All Releases Latest GitHub Release

Vim Installer and Archives (Win32 and Win64)

This is a project for building Nightly and Stable Vim Windows build snapshots automatically (more information).

Download and execute the most recent gvim_x.y.pppp_x86.exe file to install Vim (where x.y is the release version and pppp is the patch number). The exe files contain the (32bit) installer while the .zip files contain an archive of the 32bit (_x86) or 64bit versions (_x64). To install it, extract the archive and update your PATH variable. The installer will do that automatically and provide some additional extensions (e.g. Edit with Vim menu). The gvim...pdb.zip file only contains the corresponding pdb files for debugging the binaries.

If you need a dynamic interface to Perl, Python2, Python3, Ruby, TCL, Lua or Racket/MzScheme, make sure you also install the following. Vim will work without it, but some Plugin might need this additional dependency. (e.g. Gundo needs a working Python2 installation, Command-T needs a working Ruby installation and Neocomplete needs a working Lua installation). This means, those interpreters have to be installed in addition to Vim. Without it Vim won't be able to use that feature! You can find those interperters here:

Make sure that you install the same architecture (32bit/64bit) for those libraries that matches your Vim installation.

For Python 3, Vim is compiled against Python 3.12 using Stable ABI, and this allows you to use Python 3.8 or any later version. See also :help python3-stable-abi.

Additionally the binaries include the new terminal feature for Vim and therefore contain the winpty.dll (32bit or 64bit) and the winpty-agent.exe from the winpty repository. This feature is currently considered experimental. Read the help at :h terminal.txt for more information.

For supporting better encryption, it comes with the libsodium.dll from the libsodium repository See the help at :h 'cryptmethod' for more details.

Note: The zip archive might be considered unsecure in Windows, causing Windows to display a dialog box "These files might be harmful to your computer...". If you want to disable this warning, you need to "unblock" the zip file. Do that in the properties dialog of the zip file, first tab General and look for the security section and click on "Unblock". However using a signed release might prevent that behaviour in Windows eventually (see also next paragraph).

See: Vim Repository for the Vim source.

Custom Patches

Note: If you want to test some patches, place them in the patch directory with the extension .patch. They will be applied before building Vim and the binary will then be tested against the test suite.

Signed Builds

Creating a signed binary and installer still requires manual effort, therefore not every release will be signed. They will be provided on a best effort basis occasionaly. If there haven't been any signed releases for a long time, feel free to request a new one by creating an issue here.

Thanks to SignPath.io for providing a free code signing service and to the SignPath Foundation for a free code signing certificate to sign the builds.

Winget

The nightly builds will be automatically uploaded and submitted to the winget repository. So you can use the winget command line tool to update your vim installation and do not have to download and install new releases manually.

This is only done for the unsigned builds, because the signed builds currently still require some manual steps to complete.

There will be 2 different types of Releases submitted to the winget Repository:

1) vim.vim.nightly Releases

Every build will be uploaded to the winget package repository as vim.vim.nightly (nightly) build. You need to search for vim.vim.nightly.

2) vim.vim (stable) Releases

In addition, approximately every 100 releases, a new stable release will be uploaded to the winget repository using the 'vim.vim' identifier. This should happen approximately every month.

License & Copyright

Most work was done by Ken Takata (@k-takata) and Christian Brabandt (@chrisbra).

The Vim license applies (see :h license) to all the build scripts in this repository. Note, that Vim is included as a submodule and comes with its own license (although is also released under the Vim license).