Fortunately, the days of Emacs vs vi flame wars fizzled out decades ago. But there’s still lots of friction when it comes to text editors.
Vim is an enhanced version of the vi editor, with development dating back to 1976.
Vim is a highly configurable, powerful, console-based, open source text editor. It’s efficient, letting users edit files with a minimum of keystrokes. Vim offers word completion, undo, shortcuts, abbreviations, keyboard customization, macros, and scripts. You can turn this into your editor for your environment.
Why learn Vim?
- It’s ubiquitous. Once you’ve learn how to use Vim, you’ll be able to edit text whatever computer you are accessing, locally or remotely. Vi(m) is a standard editor on the vast majority of UNIX-derived systems including Linux, Solaris, Mac OS X, and the various BSD distributions. Even embedded software in home routers typically include the editor.
- Scalability – the software can be an entire writing platform or used to occasionally edit a configuration file.
- Efficient, extensible, fast, and terminal friendly.
With the release of Vim 8 a few years ago, the project added important features like:
- Asynchronous plugin features (I/O support, Jobs, Timers, Channels, JSON support);
- Vimscript Lambdas;
- Built-in package manager;
- Built-in terminal;
- GTK+ 3 support;
- Better defaults without a config file.
But even with these improvements, there’s a good number of Vim-like editors that continue to gain momentum. These editors don’t try to rewrite Vim from scratch, nor re-implement Vim. Some add features that haven’t made it into Vim’s code base for one reason or another. While some focus on backwards-compatibility, others aim to offer a reduced feature set, but remove a lot of cruft that’s made its way into the Vim code over the years.
Here’s our recommended Vim-like text editors. They are all released under an open source license.
Vile comes with an X-windows program called XVile. And gVim and Vy also provide a GUI. Vy uses TKinter, a Python interface to Tcl/Tk. This interface is certainly showing its age. We’re not sure TKinter is a good choice.
|Vim-like Text Editors|
|Neovim||Vim-fork focused on extensibility and usability|
|Kakoune||Implements Vi’s "keystrokes as a text editing language" model. Focus on interactivity|
|vile||Text editor that combines aspects of the Emacs and vi editors|
|Vis||Combining modal editing with structural regular expressions|
|Vy||Vim-like in Python made from scratch|
|amp||Vim-like editor written in Rust|
|gVim||Vim with a built-in GUI|
|Levee||Also known as Captain Video|
This article doesn’t include NeoVim GUIs. We recently published a separate Group Test featuring the best NeoVim GUIs.
|Return to our complete collection of recommended free and open source software including our latest additions.|