On Emacs vs. Vim vs. Neovim and Misconceptions Thereof

The Emacs vs. Vim flame war has been going for as long as both have existed (many decades as of this writing); however, I'm of the opinion that the reasons people have for preferring one over the other mostly falls into the category of configuration differences rather than the category of design differences. Perhaps more correctly, people like Vim because of the default configuration and people like Emacs because of its software architecture. Not that there aren't exceptions, but rather that is how people usually draw the lines.

This matter is further exacerbated by the emergence of Neovim as a popular form of Vi/Vim. The major distinguishing feature of Neovim over Vim is including a much more reasonable scripting language in Lua rather than Vim's Vimscript. Neovim also now includes tree-sitter and LSP support; however, that is secondary to the former. People commonly use configurations for Neovim that include LSP, linting, fuzzy search, auto-completion, and other advanced, IDE-like features. At the end of the day, people regularly use Neovim configured in a such a way as to compete with the now nearly ubiquitous Visual Studio: Code. This area is one in which Emacs has long excelled. In fact, many of the arguments against Emacs have been that it is bloated. However, in the changing landscape of development environments Neovim has supplanted Vim in market-share while drifting more towards being used as an IDE rather than a simple editor without what what old-school Vim users derided Emacs for having as "bloated IDE features".

Local Graph

org-roam 0cdb1c95-b746-4028-86a9-69db9b88491b On Emacs vs. Vim vs. Neovim and Misco... aca1324c-b142-4e34-a121-a8bb0a79ddf8 Emacs 0cdb1c95-b746-4028-86a9-69db9b88491b->aca1324c-b142-4e34-a121-a8bb0a79ddf8 37c53f5b-c586-41ff-a4fe-b44c05ed3c1f Vim 0cdb1c95-b746-4028-86a9-69db9b88491b->37c53f5b-c586-41ff-a4fe-b44c05ed3c1f 54504d3e-4f52-4dd2-9f2a-3ad550400bc9 Neovim 0cdb1c95-b746-4028-86a9-69db9b88491b->54504d3e-4f52-4dd2-9f2a-3ad550400bc9 6a50ef8a-5a49-487c-8855-dd62b4c42588 Vi 0cdb1c95-b746-4028-86a9-69db9b88491b->6a50ef8a-5a49-487c-8855-dd62b4c42588