What is Vim?

The answer seems fairly obvious - an editor. To some an obscure way to interact with your computer, to others the only way.

However, there is something very special about Vim that no other editor has:

There's a Vim mode in every single mainstream code editor out there. No matter if VSCode, JetBrains, Emacs, Sublime, Zed - they all let you enable Vim mode.


To flip this around, imagine you would remove the functionality that Vim mode in VSCode gives you from Neovim. This is an academic example, but what would you be left with? A slightly obscure configuration language that's competing with a new Lua API, leaving you with a very fragmented way of setting up your editor. You would have a language server client that requires a lot of manual configuration to set up, and a decision for you to make which third-party package manager is currently the "best". While it'll be a snappy editor, comparing this to VSCode it doesn't seem particularly appealing.


I think Vim at its core is something else: It's a language to talk to your computer. The more you use Vim, the more its grammar and structure becomes clear, it's pretty simple

diw --> delete inner word
cap --> change a paragraph

verb adjective object, that's it. Sometimes you may add a count before the verb - simple. Its simplicity means it's a) not too hard to remember for a person, but also b) great for a computer to interpret, compared with for example English which is verbose, has many special cases and many ways to express the same thing.


Vim is an efficient language to tell your editor what to do.


Now with all this, what then is the (Neo)vim editor? It's the most complete, consistent implementation of the Vim language. If you like its editor parts, you should continue using it.

But if you like the way you talk to Vim, but are unhappy with some other part, that means it's worth checking out Zed, VSCode, Emacs or any of the others.

You can speak the language you like, but can easily swap out the infrastructure around it that makes a code editor/IDE complete.