Fortunately, the days of Emacs vs vi flame wars fizzled out decades ago. But there remains 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 are 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|
|Helix||Kakoune / Neovim inspired editor.|
|Lapce||Modern editor in Rust which uses native GUI and GPU rendering|
|LunarVim||IDE layer for Neovim|
|Kakoune||Implements Vi’s "keystrokes as a text editing language" model|
|NvChad||Neovim config aiming to provide a base configuration|
|vile||Text editor that combines aspects of the Emacs and vi editors|
|Vis||Combining modal editing with structural regular expressions|
|gVim||Vim with a built-in GUI|
|amp||Vim-like editor written in Rust|
|Vy||Vim-like in Python made from scratch|
|Levee||Also known as Captain Video|
This article doesn’t focus on NeoVim GUIs. We published a separate Group Test featuring the best NeoVim GUIs.
Want to learn more about Vim and VimL (Vimscript)? We’ve compiled the best free books to master Vim. For VimL, we recommend the best free VimL books, and best free VimL tutorials.
|Read our complete collection of recommended free and open source software. Our curated compilation covers all categories of software.
The software collection forms part of our series of informative articles for Linux enthusiasts. There are hundreds of in-depth reviews, open source alternatives to proprietary software from large corporations like Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.
There are also fun things to try, hardware, free programming books and tutorials, and much more.
Personally I’d also recommend Emacs in ‘Evil’ mode. It gets pretty close to using vanilla Vim, including the way it handles buffers. Run it by using the command “emacsclient” and the editor opens up almost instantly. You can even use nonproportional fonts if you’d like (though I wouldn’t recommend doing that for coding, obviously).
Thanks for the suggestion. That looks a good addition for Emacs users. We’ll update the article to include Evil.