When comparing Neovim vs GNU Emacs, the Slant community recommends GNU Emacs for most people. In the question“What are the best IDEs for C++ on UNIX-like systems?” GNU Emacs is ranked 7th while Neovim is ranked 13th. The most important reason people chose GNU Emacs is:
Customizations can be made to a wide range of Emacs' functions through a Lisp dialect. A robust list of existing Lisp extensions include the practical (git integration, syntax highlighting, etc) to the utilitarian (calculators, calendars) to the sublime (chess, Eliza).
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Still Vim but with upgraded features and some issues fixed
NeoVim was a complete rewrite of Vim, with new features added and underlying issues resolved thanks to the Vim code base. The keybindings and configuration are the same as Vim, so the switch can be pretty simple.
Pro Better integration with external tools
The core text editor is "headless", meaning it's detached from the user-interface so other programs can hook into it. This enables better integration with IDEs and browsers, where "Vim mode" has typically been a poor substitute because it was a partial rewrite or a partial port at best. One of the advantages of Vim has always been ubiquity and Neovim makes it even more ubiquitous.
Pro Powerful plugin model
Vim plugins have always been useful, but tied to specific languages. Neovim's architecture provides better separation between plugins and the core product, so that plugins are completely flexible and can be written in any language.
Pro Built-in terminal emulator
This avoids the user having to make any installations.
Pro UI Agnostic
The core functionality is handled apart from the UI, meaning that Neovim can be embedded into any other GUI system, such as Atom.
Pro Async plugin execution
Pro Active development community
Pro Opens a 3Gig Text File in a few seconds
Not many editors can open such a large text file so quickly.
Pro Fast and light on memory usage
New neovim editor instance starts instantly and you can have multiple editors open at the same time, because id does not require a lot of memory to run.
Pro Easier to pick-up than ever
Don't believe it? Try typing vimtutor in your command line right now.
Pro Work in TUI (Text User Interface)
Neovim can work on terminal, on a remote server over ssh.
Pro Modern code base
As a refactor over Vim, Neovim has greatly improved its code base. For example, some functionality is handled by libuv, the same code base that powers Node.js.
Pro Comes with some good configurations out of the box
Some typical configurations most of VIM users make are default in Neovim.
Pro Even more powerful since 2019, because of additions such as vim-coc, TabNine, fzf, skim
Vim gets stronger every time command-line tools get stronger. This isn't even it's the final form.
Pro Config file is where it should be
I don't like having dotfiles or dotdirs in my homefolder unless they're needed. Configs should be in the .config
dir in their respective folder.
Pro Built-in file-explorer and ability to make splits and edit multiple things simutaneously.
This makes editing multiple files at once, moving code around so easy.
Pro Treesitter and LSP
Pro Terminal mode is very convenient for testing code in a split window
Pro Infinitely customisable
Customizations can be made to a wide range of Emacs' functions through a Lisp dialect. A robust list of existing Lisp extensions include the practical (git integration, syntax highlighting, etc) to the utilitarian (calculators, calendars) to the sublime (chess, Eliza).
Pro Completely free
Licensed under GNU GPL.
Pro Keyboard-focused, mouse-free editing
Emacs can be controlled entirely with the keyboard.
Pro Works in terminal
You can use Emacs' command line interface or graphical user interface.
Pro Self documenting
Emacs has extensive help support built-in as well as a tutorial accessed with C-h t.
Pro Has turn-key packages for IDE work
Packs like spacemacs make it easy to get started and bring the learning curve down from an infinitely regressing spiral to something more manageable.
Pro Works over SSH
Pro Great Integration
Emacs has modes for nearly every use case, even ones like mail and internet browsing. It has often been said that Emacs is essentially an operating system on its own.
Pro Has Vim emulation
Evil-mode makes Emacs actually usable as an editor.
Cons
Con Poor feature discoverability
Con High effort to customize
A lot of time and effort is put in to make it specific to your needs.
Con Requires Brain Mode Switching
When editing in vim, you have you use the vim keys; when editing in every other window on your PC, or in Word or Excel or other application, you need to use the standard system key combinations. Learning the vim combinations can actually make you SLOWER at everything else.
Con Consume brain energy for editing that should be used for logic
Text editing in vim can be great once you've learned it, but it requires thinking about combination of commands. In other editors, you don't have to think about how to delete this part of code. You just think about how to implement a feature, what is a good design for this code. Even after you get used to using vim, it still requires your brain for editing.
Con Ambiguity in extensive documentation
Con Limited cross platform support
Neovim is not available for many legacy platforms
Con Split the VIM community
Moolenaar to be blamed for. If he opened up the development for vim to other bright minds, no fork would have happened. As it is mostly compatible with vim, it is not such a big issue.
Con Poor support for external tooling
Con Non-standard keyboard commands
I'm editing this in Chrome, but I could be using Firefox, Edge, or any other browser, or Notepad, or even Libreoffice or Microsoft Word, and in ALL of those cases, keys would work exactly the same way, including how to jump around by word, select words, cut/copy/paste, etc.
Pretty much all modern editors share the same basic key combinations, from Visual Studio to Sublime to Atom to VS Code to Xcode. Becoming an Emacs expert means you need to mode-shift between code editing and editing in your browser; adding Emacs modes to SOME apps means you need to remember which key bindings to use where. The cognitive load added by switching between Emacs and other text editors is not worth it, especially since all the advantages of Emacs are now available in free editors elsewhere.
Con Not set up as an IDE by default
Requires customization to get IDE-like features. Luckily a few features such as compilation, debugging, and syntax highlighting are included.
Con Learning curve is steep
While it's better than it used to be, with most functions being possible through the menu, Emacs is still quite a bit different from your standard editor. You'll need to learn new keyboard shortcuts.
Con A UI designed before anyone had a clue about UI design
Emacs is positively NOT a well-designed user interface. Its design dates back to the time when all microwaves still needed instructions and VCRs universally displayed a flashing 12:00 because no one could figure out how to operate them. Many modern editors have 100% of the power of Emacs with none of the hassle.
Con Chorded keyboard combinations can be baffling
For example, for navigation it uses the b, n, p, l keys. Which for some people may seem strange.