Vim is available for many different systems and there are several versions.This page will help you decide what to download.Most popular:
If you want to save the changes you've made, press Control + O. To exit nano, type Control + X. If you ask nano to exit from a modified file, it will ask you if you want to save it. Just press N in case you don't, or Y in case you do.
- Vim is a free and powerful text editor that comes with your Mac. In this tutorial, I will show you the basics of this text editor. You can open files in Vim like any command line editor. Vim in Terminal. If the file you want to edit is life.md, type in the Terminal window.
- Instead of the standard arrow keys, vim uses hjkl (h for left, j for down, k for up, and l for right) for navigation. It may seem counter-productive at first. But, vim does this to save the time it takes users to reach the arrow keys across their keyboard. Also, like many console-based editors, vim encourages users to stay away from the mouse.
MS-Windows: | Click this link to download the self-installing executable(using ftp). Signed MS-Windows files are available on thevim-win32-installer site(gvim_8.2.0012_x86_signed.exe is recommended) |
Unix: | See the GitHub page, or Mercurial, if you prefer that.There is also anAppimagewhich is build daily and runs on many Linux systems. |
Mac: | See the MacVim project for a GUI version and Homebrew for a terminal version |
Details and options for:
Mirrors | Alternative sites to download Vim files from. |
Sources | Build Vim yourself and/or make changes. |
GitHub | Obtain Vim sources with a git client (recommended). |
Mercurial | Obtain Vim sources with a Mercurial client(recommended if you don't like git). |
Patches | Include the latest improvements (requires sources and rebuilding). |
Runtime | Get the latest syntax files, documentation, etc.. |
Script links | Links to individual syntax, indent, color, compiler and ftplugin scripts. |
Translations | Non-English documentation packages. |
Versions before 7.3 can also be obtained withSubversionandCVS.Vim 8.2 is the latest stable version. It is highly recommended, many bugs have been fixed since previous versions.If you have a problem with it (e.g.,when it's too big for your system), you could try version 6.4 or 5.8 instead.
To avoid having to update this page for every new version, there arelinks to the directories. From there select the files you want to download.In the file names ## stands for the version number. For example,vim##src.zipwith version 8.2 is vim82src.zip andvim-##-src.tar.gz for version 8.2is vim-8.2-src.tar.gz.Links are provided for quick access to the latest version.
Note that the links point to the latest version (currently 8.2) to avoidthat caching causes you to get an older version.
The best way to install Vim on Unix is to use the sources. This requires acompiler and its support files. Compiling Vim isn't difficult at all.You can simply type 'make install' when you are happy with the defaultfeatures. Edit the Makefile in the 'src' directory to select specificfeatures.
You need to download at the sources and the runtime files.And apply all the latest patches.For Vim 6 up to 7.2 you can optionally get the 'lang' archive, which adds translated messages and menus. For 7.3 and later this is included with the runtime files.
Using gitThis is the simplest and most efficient way to obtain the latest version, including all patches. This requires the 'git' command.
The explanations are on the GitHub page.
Summary:
Using MercurialThis is another simple and most efficient way to obtain the latest version, including all patches. This requires the 'hg' command.
The explanations are on this page:Mercurial
Summary:
version 7.x and 8.xThere is one big file to download that contains almost everything.It is found inthe unix directory(ftp):
The runtime and source files together: | vim-##.tar.bz2 | vim-8.2.tar.bz2 (ftp) |
The files ending in '.tar.gz' are tar archives that are compressed with gzip.Unpack them with
tar -xzf filename.
The single big file ending in '.tar.bz2' is a tar archive compressed withbzip2. Uncompress and unpack it with
bunzip2 -c filename | tar -xf -.
All archives should be unpacked in the same directory.
If you can't compile yourself or don't want to, look at the site of thesupplier of your Unix version for a packaged Vim executable. For Linuxdistributions and FreeBSD these are often available shortly after a new Vimversion has been released. But you can't change the features then.
- Debian packages are available at:http://packages.debian.org/vim.
- Sun Solaris Vim is included in the Companion Software:http://wwws.sun.com/software/solaris/freeware/.
Vim for other Sun systems can be found athttp://sunfreeware.com/. - HPUX with GTK GUI for various HPUX versions:http://hpux.its.tudelft.nl/hppd/hpux/Editors/vim-6.2/ orhttp://hpux.connect.org.uk/hppd/hpux/Editors/vim-6.2/ (note that the remark about the GNU GPL is wrong)
For modern MS-Windows systems (starting with XP) you can simply use the executable installer:
gvim82.exe (ftp)
It includes GUI and console versions, for 32 bit and 64 bit systems.You can select what you want to install and includes an uninstaller.
If you want a signed version you can get a build from
vim-win32-installer
It supports many interfaces, such as Perl, Tcl, Lua, Python and Ruby.There are also 64bit versions which only run on 64 bit MS-Windows and use alot more memory, but is compatible with 64 bit plugins.
You can also get a nightly build from there with the most recent improvements,with a small risk that something is broken.
Since there are so many different versions of MS operating systems, there areseveral versions of Vim for them.
For Vim 5.x, Vim 6.x and Vim 7 look inthe pc directory (ftp).
- Self-installing executable gvim##.exe gvim82.exe (ftp)
- For Vim 6 and later. This includes a GUI versionof Vim - with many features and OLE support - and all the runtime files.It works well on MS-Windows 95/98/ME/NT/2000/XP/Vista/7.Use this if you have enough disk space and memory. It's the simplest way tostart using Vim on the PC. The installer allows you to skip the parts youdon't want.
For Vim 6.3 and later it also includes a console version, both for MS-Windows 95/98/ME and MS-Windows NT/2000/XP/Vista/7. The installer automatically selects the right one.
- Runtime files vim##rt.zip vim82rt.zip (ftp)
- For all the following binary versions you need this runtime archive, whichincludes the documentation, syntax files, etc. Always get this, unless youuse the self-installing executable.
There are three versions that run as an MS-Windows application. These providemenus, scrollbars and a toolbar.
- GUI executable gvim##.zip gvim82.zip (ftp)
- This is the 'normal' GUI version.
- OLE GUI executable gvim##ole.zip gvim82ole.zip (ftp)
- A GUI version with OLE support. This offers a few extra features,such as integration with Visual Developer Studio. But it uses quite a bitmore memory.
There are three versions that run on MS-DOS or in a console window inMS-Windows:
- Win32 console executable vim##w32.zip vim82w32.zip (ftp)
- The Win32 console version works well on MS-Windows NT/2000/XP/Vista/7. It supports long file names and is compiled with 'big' features. It does not runperfectly well on MS-Windows 95/98/ME, especially when resizing the consolewindow (this may crash MS-Windows...).
- 32 bit DOS executable vim##d32.zip vim73_46d32.zip (ftp)
- The 32 bit DOS version works well on MS-Windows 95/98/ME. It requires a DPMImanager, which needs to be installed on MS-DOS. MS-Windows already has one.It supports long file names, but NOT on MS-Windows NT/2000/XP/Vista/7. It is compiled with 'big' features.
Not available for 7.4 and later. - 16 bit DOS executable vim##d16.zip vim71d16.zip (ftp)
- The 16 bit DOS version is the only one that runs on old MS-DOS systems. Onlyuse this if you are really desparate, because it excludes many useful features(such as syntax highlighting and long file names) and quickly runs out ofmemory.
The last version available is 7.1. Version 7.2 and later are too big to fit in the DOS memory model.
There are a few extra files:
- iconv librarylibiconv
- A library used for converting character sets.Put 'iconv.dll' in the same directory as gvim.exe to be able to edit files inmany encodings. You can find the dll file in the bin directory of the'libiconv-win32' archive.
- newer intl librarylibintl
- The included libintl.dll does not support encoding conversion.If you have installed the iconv library, as mentioned above, you can install agettext library that uses it.Get 'intl.dll' from the bin directory in the gettext-win32 archive and store itas 'libintl.dll' in the same directory as gvim.exe, overwriting the filethat may already be there.
- PC sources vim##src.zip vim82src.zip (ftp)
- The source files, packed for the PC. This only includes the files needed onthe PC, not for other systems. The files are in dos format CR-LF.
- PC debug files gvim##.pdb gvim82.pdb (ftp) gvim##ole.pdb gvim82ole.pdb (ftp) vim##w32.pdb vim80w32.pdb (ftp)
- When you notice a bug or a crash in Vim these files can be used to help tracing down the problem. In Vim 7 do ':help debug-win32' to see how.
- PC translations vim##lang.zip vim72lang.zip (ftp)
- Only for 7.2 and earlier, for 7.3 and later these are included in the 'rt' archive.Translated messages and menu files, packed for the PC. Use this to seenon-English menus. The messages are only translated when the libintl.dlllibrary is installed.
- Windows 3.1 GUI executable gvim##w16.zip and gvim##m16.zip
- These are GUI versions for 16 bit windows (Windows 3.1). The 'w16' has manyfeatures, 'm16' has few features (for when you're short on memory).
The files ending in '.zip' can be unpacked with any unzip program.Make sure you unpack them all in the same directory!
Alternate distributions
- Yongwei's build
- You may also try Yongwei's build,executables with slightly different interfaces supported.
- Cream
- For an unofficial version that used to include all the latest patches andoptionally a bitmore: Cream.The 'one-click installer' mentioned includes the Cream changes.For the 'real Vim' use the 'without Cream' version listed further down.
Unfortunately, it stopped updating since Vim 8.0.
- Cygwin
- For a Cygwin binary look at others.
Quite a long time ago, Vim development started on the Amiga. Although it's areally old system now, it might still work. However, this has not been tested recently.You may have to use an older version for which Amiga binaries are available.
For Vim 5.x and Vim 6 look inthe amiga directory (ftp).
Vim 7 files can be found atos4depot.net. This is for AmigaOS 4. Made by Peter Bengtsson.
- Runtime files vim##rt.tgz vim64rt.tgz (ftp)
- Documentation, syntax files, etc. You always need this.
- Executable vim##bin.tgz vim64bin.tgz (ftp)
- The executables for Vim and Xxd.For Vim 6 it includes 'big' features, for Vim 5.x itincludes the normal features.For Vim 6.2 it is not available (my Amiga had harddisk problems then, this miraculously healed later).
- Big executable vim##big.tgz
- Vim with 'big' features and Xxd. Only for Vim 5.x.
- Sources vim##src.tgz vim64src.tgz (ftp)
- The source files for the Amiga.Only needed when you want to compile Vim yourself.
The files are all tar archives, compressed with gzip. To unpack, firstuncompress them with
gzip -d filename. Then unpack with
Save Vim Macro
tar xf filename. You need to unpack the archives in the samedirectory.The OS/2 version runs in a console window.
For Vim 5.x and Vim 6 look inthe os2 directory (ftp).Version 6.2 is not available.Versions 6.3 and 6.4 were compiled by David Sanders.
Version 7.0 was compiled by David Sanders.
- Runtime files vim##rt.zip vim70rt.zip (ftp)
- Documentation, syntax files, etc. You always need this.
- Executables vim##os2.zip vim70os2.zip (ftp)
- Vim, Xxd, Tee and EMX libraries.
The files ending in '.zip' can be unpacked with any unzip program.Make sure you both zip archives in the same directory!
Save Vim And Exit
If you want to compile the OS/2 version, you need the EMX compiler. Use theUnix source archive, runtime files and the extra archive. After unpacking theruntime archive, move all the files and directories in the 'runtime'directory one level up.
The terminal version of Vim is included as 'vi', you already have it. It'slagging behind a bit though and has limited features, thus you may want toadditionally install a recent version or one with more features.
MacVim
There most popular version is MacVim. This is being actively developed. Thisbehaves like a Mac application, using a GUI.
MacVim has more a Mac look and feel, is developed actively and most peopleprefer this version. Most of MacVim was made by Björn Winckler.
MacVim can be downloaded here: https://github.com/macvim-dev/macvim
New versions are made quite often.Subscribe to thevim-mac maillistto be informed about bugs and updates.
Homebrew
This is a terminal version installed with the 'brew' command.It is updated frequently.It can be downloaded here: formulae.brew.sh/formula/vim.
Older
Older binaries for Mac OS/X can be found on thisSourceForge project.Maintained by Nicholas Stallard.
Here is a multi-byte version of Vim 5.7 (for Japanese, possibly also forKorean and Chinese; not for Unicode):
http://www-imai.is.s.u-tokyo.ac.jp/~asai/macvim-e.html
Background
Most of the work forthe Macintosh port (Classic and Carbon) was done by Dany St-Amant.
If you have OSX and a setup for compiling programs, you can use the source codeand compile yourself. See the Unix section above. The development tools can bedownloaded from Apple's developer web site.
Turn to the vim-mac maillist to meet otherVim-Mac users.
This is a list of links to sites where various versions of Vim can be obtained.These are supported by individuals, use at your own risk.
Android | Search for 'Vim Touch' by Momodalo in the Play Store. |
i/OS | Run Vim on your iPhone or Ipad. |
QNX (ftp) | Provided by Yakov Zaytsev. Requires QNX 6.3.0/6.3.2 with service pack 2. |
Agenda | http://pi7.fernuni-hagen.de/hartrumpf/agenda/vim/vim.vr3 |
Cygwin (with GTK GUI) | http://lassauge.free.fr/cygwin/ |
Open VMS | http://www.polarhome.com/vim/ |
MorphOS | http://www.akcaagac.com/index_vim.html |
TOP
Vim is a Linux text editor based on the older Vi editor. Vim is an enhanced version of Vi; many commands work for both Vi and Vim.
This guide will show you how to exit in the terminal or using a shortcut key.
Note: Some Linux distributions, such as Ubuntu 18.04 and 20.04, may come with the minimal version of Vim installed. Follow our guide to install the full version of Vim on Ubuntu.
- A Linux system
- Access to a terminal window / command line (Activities > Search > Terminal)
- A user account with sudo or root privileges (editing some files may require elevated privileges)
Note: If you need a test file for practicing, open a terminal window and enter vim test.txt
. Next, press the letter i
to switch to insert mode and type a few lines of text.
To issue commands in Vi/Vim, switch to command mode.
1. Press the Esc key.
2. You should see the ––INSERT––
label vanish from the lower-left.
3. To save your changes before you exit, type :w
, and then Enter. This will save any changes made. Vim will respond by outputting the filename, whether it’s new, and how many characters were written to the hard drive.
4. To exit Vi/Vim, type :q
and hit Enter.
Note: Want to personalize your Vim interface and add syntax highlighting? Learn How to Change and Use Vim Color Schemes.
In addition to command mode, Vim also has the option for shortcut keys:
- To save a file in Vim and exit, press Esc > Shift + ZZ
- To exit Vim without saving, press Esc > Shift + ZX
Here’s a list of commands for quitting Vim:
Esc
– switch to command mode:w
– write out changes that were made:q
– exit Vim:q!
– exit Vim and discard any changes:wq
– saves the changes, and exits Vim- :
x
– save the changes made, and exits Vim
Note: Make sure to type a colon (:
) first to signify a command. Use the Enter key to activate it.
You should now have several methods to exit Vi/Vim text editor. Next, learn other essential Vim commands.
Next you should also read
Vim (Vi IMproved) is a well-known, open-source text editor for Linux or Unix systems. It is a powerful and…
Complete guide on how to use crucial Vim commands - copying (yanking), cutting (deleting), and pasting…
Vim allows you to delete entire lines, words or characters using various Vim commands. Learn the most…
You can activate line numbering in Vim by showing absolute, relative or hybrid lines. Displaying or hiding…