Text Editor

12 Best Free Vim-Like Text Editors

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.
  • Powerful.
  • 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.

Ratings chart for free and open source Vim-like text editors

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
NeovimVim-fork focused on extensibility and usability
HelixKakoune / Neovim inspired editor.
LapceModern editor in Rust which uses native GUI and GPU rendering
LunarVimIDE layer for Neovim
KakouneImplements Vi’s "keystrokes as a text editing language" model
NvChadNeovim config aiming to provide a base configuration
vileText editor that combines aspects of the Emacs and vi editors
VisCombining modal editing with structural regular expressions
gVimVim with a built-in GUI
ampVim-like editor written in Rust
VyVim-like in Python made from scratch
LeveeAlso 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.

Best Free and Open Source SoftwareRead 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.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Please read our Comment FAQ before posting a comment.

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Jim Lee
Jim Lee
1 year ago

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).