Need advice about which tool to choose?Ask the StackShare community!

Neovim

603
716
+ 1
183
Vim

26.8K
21.8K
+ 1
2.4K
Add tool

Neovim vs Vim: What are the differences?

Neovim and Vim are two popular text editors. Neovim is a fork of Vim with additional improvements and enhancements. Let's explore the key differences between Neovim and Vim:

  1. Community and Development: Neovim has a more active and rapidly evolving development community compared to Vim. Neovim aims to modernize the Vim codebase and address long-standing limitations. It introduces new features, bug fixes, and performance improvements more frequently, thanks to its more active development cycle. Vim, on the other hand, has a large and established community, with a vast number of plugins and configurations available.

  2. Asynchronous Processing: One of the significant differences between Neovim and Vim is the support for asynchronous processing. Neovim introduces a client-server architecture that allows plugins and external processes to communicate asynchronously with the editor. This enables faster and more responsive plugins, improved integration with external tools, and enhanced performance. Vim, by contrast, lacks native support for asynchronous processing, making it more challenging to achieve similar levels of responsiveness.

  3. Plugin Ecosystem: Both Neovim and Vim have a rich ecosystem of plugins and extensions that enhance their functionality. However, due to its more active development community, Neovim often benefits from newer and more actively maintained plugins. Some plugins may be specific to Neovim and utilize its unique features, while others may be compatible with both editors. Vim, being older and more established, has a vast collection of plugins and configurations available, many of which are compatible with Neovim as well.

  4. Terminal Emulation: Neovim provides better terminal emulation compared to Vim. It has a built-in terminal mode that allows running a terminal emulator within the editor itself. This feature enables developers to execute and interact with command-line tools without leaving the editor environment. While Vim also has a terminal mode, Neovim's implementation offers additional capabilities, such as better handling of terminal input/output and improved integration with external shell commands.

  5. Extensibility and Scripting: Vim has a powerful built-in scripting language called Vimscript, which allows users to customize and extend the editor's functionality. Neovim retains Vimscript compatibility but introduces additional scripting capabilities, such as support for Lua scripting. The inclusion of Lua enables more flexible and performant plugin development. Additionally, Neovim provides a richer set of APIs for interacting with the editor programmatically, making it easier to develop complex plugins and integrations.

In summary, Neovim and Vim are powerful and highly customizable text editors. Neovim's active development community, asynchronous processing support, improved terminal emulation, and enhanced extensibility make it an attractive choice for users seeking modern features and responsiveness. Vim, with its extensive plugin ecosystem, stability, and established community, remains a solid option for users who value the familiarity and wide range of available configurations.

Advice on Neovim and Vim
Rogério R. Alcântara
Needs advice
on
NeovimNeovim
and
VimVim

For a Visual Studio Code/Atom developer that works mostly with Node.js/TypeScript/Ruby/Go and wants to get rid of graphic-text-editors-IDE-like at once, which one is worthy of investing time to pick up?

I'm a total n00b on the subject, but I've read good things about Neovim's Lua support, and I wonder what would be the VIM response/approach for it?

See more
Replies (6)
Recommends
on
NeovimNeovimVimVim

Neovim can basically do everything Vim can with one major advantage - the number of contributors to the code base is just so much wider (Vim is ~100% maintained only by B. Mooleanaar). Whatever you learn for Neovim you can also apply to Vim and vice versa. And of course there is the never ending Vim vs Emacs controversy - but better not get into that war.

See more
Jeffrey Johnson
Recommends
at

Actually, the biggest advantage with Neovim (as a VS user) is that you can embed REAL Neovim as the editor UI, rather than using a "Vim emulation", you're using actual NVIM, embedded in VS!

"asvetliakov.vscode-neovim" is the extension you are looking for:

  1. Install the 'vscode-neovim; extension (https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim)
  2. Install Neovim version 0.5+ nightly
  3. Start winning.

(You can install neovim-nightly separately for just vscode, I usually build and install it to /opt/nvim - it's enough enough to do - let me know if you need help).

Works wonderfully. It might not work out of the box if you have some 100K epic nvim initialization file, but the plugin documents a workaround for having an embedding/VS specific configuration.

See more
Kudos Beluga
Recommends
on
NeovimNeovim

I don't actually notice much of a difference between the two, as the end result looks identical. If you use Vim and are switch to Neovim it's an extremely easy 1-minute process. I switched from Vim to Neovim. I can't say I found much of a difference, but the key points where Neovim could be better than just vim is that first, there are much more people maintaining Neovim compared to vim, which means fewer bugs and a modern code base. It also has a smaller code base which might result in a small speed improvement. Another thing is that it's basically just a fork of vim, so what harm can it do? ;)

See more
Recommends
on
VimVim

I recommend using vim 8+ it has native plugin support if you need language supports you can install the package vim-nox which will come with support for python, lua, ruby, etc

See more
Albert Kim
Recommends

It truly depends on whether you want to completely avoid GUI and stick to TUI and command lines. If you want to edit all of your codes within a terminal, then Vim or neovim would be the choice. Emacs can be run in a terminal, but the functionality is limited. Most people use Emacs using GUI and emacs-client not to use too much memory.

My general preference is to use an independent text editor, which is better if it is highly customizable and programmable. So, I have used Emacs for several years. For beginners, I guess Emacs requires significant time to learn to fully enjoy its wonderful functionalities. In that sense, using atom would be a recommendable option.

Regardless of all the situations, learning basic vim in the terminal will help you in any case. In summary, I recommend 1. vim as a default editor in the terminal 2. atom if you are a beginner, or 3. Emacs if you have a long-term plan to master a programmable editor

Other editors like sublime text, VS code, and so forth are also worth learning and using. But, no matter which editor you choose, stick to one or two until you become an advanced user. Being able to use most text editors at an intermediate level is waste of time.

I hope it helps.

See more
Rogério R. Alcântara
Recommends
on
NeovimNeovim

The hints on the codebase's contributors and the VSCode integration helped me make up my mind.

I really appreciate all comments, though.

Thanks a bunch!

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Neovim
Pros of Vim
  • 31
    Modern and more powerful Vim
  • 27
    Fast
  • 22
    Asynchronous plugins
  • 20
    Stable
  • 18
    Edit text fast
  • 15
    Great community
  • 15
    Vim plugins work out of the box
  • 9
    Embedable
  • 8
    Unix-like
  • 8
    Built-in terminal support
  • 4
    Plugins in any language
  • 2
    External GUIs
  • 2
    Great Colorschemes
  • 2
    Extremely customizable
  • 347
    Comes by default in most unix systems (remote editing)
  • 328
    Fast
  • 312
    Highly configurable
  • 297
    Less mouse dependence
  • 247
    Lightweight
  • 145
    Speed
  • 100
    Plugins
  • 97
    Hardcore
  • 82
    It's for pros
  • 65
    Vertically split windows
  • 30
    Open-source
  • 25
    Modal editing
  • 22
    No remembering shortcuts, instead "talks" to the editor
  • 21
    It stood the Test of Time
  • 16
    Unicode
  • 13
    VimPlugins
  • 13
    Everything is on the keyboard
  • 13
    Stick with terminal
  • 12
    Dotfiles
  • 11
    Flexible Indenting
  • 10
    Hands stay on the keyboard
  • 10
    Efficient and powerful
  • 10
    Programmable
  • 9
    Everywhere
  • 9
    Large number of Shortcuts
  • 8
    A chainsaw for text editing
  • 8
    Unmatched productivity
  • 7
    Developer speed
  • 7
    Super fast
  • 7
    Makes you a true bearded developer
  • 7
    Because its not Emacs
  • 7
    Modal editing changes everything
  • 6
    You cannot exit
  • 6
    Themes
  • 5
    EasyMotion
  • 5
    Most and most powerful plugins of any editor
  • 5
    Shell escapes and shell imports :!<command> and !!cmd
  • 5
    Intergrated into most editors
  • 5
    Shortcuts
  • 5
    Great on large text files
  • 5
    Habit
  • 5
    Plugin manager options. Vim-plug, Pathogen, etc
  • 4
    Intuitive, once mastered
  • 4
    Perfect command line editor
  • 1
    Not MicroSoft

Sign up to add or upvote prosMake informed product decisions

Cons of Neovim
Cons of Vim
    Be the first to leave a con
    • 8
      Ugly UI
    • 5
      Hard to learn

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Neovim?

    Neovim is a project that seeks to aggressively refactor Vim in order to: simplify maintenance and encourage contributions, split the work between multiple developers, enable the implementation of new/modern user interfaces without any modifications to the core source, and improve extensibility with a new plugin architecture.

    What is Vim?

    Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems. Vim is distributed free as charityware.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Neovim?
    What companies use Vim?
    See which teams inside your own company are using Neovim or Vim.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Neovim?
    What tools integrate with Vim?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    What are some alternatives to Neovim and Vim?
    Atom
    At GitHub, we're building the text editor we've always wanted. A tool you can customize to do anything, but also use productively on the first day without ever touching a config file. Atom is modern, approachable, and hackable to the core. We can't wait to see what you build with it.
    Kakoune
    Kakoune is a code editor heavily inspired by Vim, as such most of its commands are similar to vi’s ones. Kakoune can operate in two modes, normal and insertion. In insertion mode, keys are directly inserted into the current buffer. In normal mode, keys are used to manipulate the current selection and to enter insertion mode.
    Emacs
    GNU Emacs is an extensible, customizable text editor—and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.
    SpaceVim
    SpaceVim is a Modular configuration, a bundle of custom settings and plugins, for Vim. It got inspired by spacemacs.
    Spacemacs
    Since version 0.101.0 and later Spacemacs totally abolishes the frontiers between Vim and Emacs. The user can now choose his/her preferred editing style and enjoy all the Spacemacs features. Even better, it is possible to dynamically switch between the two styles seamlessly which makes it possible for programmers with different styles to do seat pair programming using the same editor.
    See all alternatives