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

CodeMirror

580
230
+ 1
15
Neovim

609
722
+ 1
183
Add tool

CodeMirror vs Neovim: What are the differences?

Introduction

In this comparison, we will analyze the key differences between CodeMirror and Neovim in the context of text editing and coding functionalities.

  1. Mode of Operation: CodeMirror is a web-based text editor created with JavaScript that operates within a browser, providing a seamless editing experience for web development projects. On the other hand, Neovim is a terminal-based text editor that is an extended, modernized version of the traditional Vim editor, offering a robust command-line interface for developers.

  2. Customization Capabilities: CodeMirror offers a high level of customization through its extensive API, allowing developers to tailor the editor's appearance, behavior, and functionality according to their specific needs. Neovim, while also highly customizable, primarily relies on its configuration file and plugins to enhance its features and adapt to user preferences.

  3. Real-Time Collaboration: CodeMirror has built-in support for real-time collaboration, enabling multiple users to edit the same document simultaneously with live updates. Neovim does not inherently support real-time collaboration, but third-party plugins can be integrated to enable this functionality, albeit with some configuration.

  4. Extensibility: CodeMirror provides a rich set of built-in modes and addons to extend its functionality, such as syntax highlighting, auto-completion, and linting. Neovim, known for its vast plugin ecosystem, offers a wide range of community-developed plugins that enhance its capabilities, including version control integration, language-specific support, and productivity tools.

  5. User Interface: CodeMirror offers a visually appealing, user-friendly interface with rich text editing features, making it suitable for less experienced users and those accustomed to modern web applications. Neovim, designed for seasoned developers and power users, has a minimalistic interface focused on efficiency and speed, relying heavily on keyboard shortcuts and command-driven interactions.

  6. Performance: CodeMirror is optimized for web environments, providing smooth editing experiences within browsers, while Neovim is known for its exceptional performance in handling large files and complex operations due to its lightweight design and efficient memory usage.

In Summary, CodeMirror and Neovim differ in their mode of operation, customization capabilities, support for real-time collaboration, extensibility, user interface design, and performance characteristics, catering to distinct user preferences and development environments.

Advice on CodeMirror and Neovim
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 CodeMirror
Pros of Neovim
  • 6
    Integrable in your application
  • 4
    Better content manipulation methods
  • 3
    Easy Custom Mode
  • 1
    JavaScript based
  • 1
    Easy setup
  • 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

Sign up to add or upvote prosMake informed product decisions

- No public GitHub repository available -

What is CodeMirror?

CodeMirror is a JavaScript component that provides a code editor in the browser. When a mode is available for the language you are coding in, it will color your code, and optionally help with indentation.

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.

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

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

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

What tools integrate with CodeMirror?
What tools integrate with Neovim?

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

Blog Posts

JavaScriptGitHubPython+42
53
21847
What are some alternatives to CodeMirror and Neovim?
Ace
Ace is a standalone code editor written in JavaScript. Our goal is to create a browser based editor that matches and extends the features, usability and performance of existing native editors such as TextMate, Vim or Eclipse. It can be easily embedded in any web page or JavaScript application.
TinyMCE
It is the most advanced WYSWIYG HTML editor designed to simplify website content creation. The rich text editing platform that helped launch Atlassian, Medium, Evernote, and more.
Prism
It is a lightweight, beautiful and extensible syntax highlighter, built with modern web standards in mind. It’s used in thousands of websites, including some of those you visit daily.
Visual Studio Code
Build and debug modern web and cloud applications. Code is free and available on your favorite platform - Linux, Mac OSX, and Windows.
Sublime Text
Sublime Text is available for OS X, Windows and Linux. One license is all you need to use Sublime Text on every computer you own, no matter what operating system it uses. Sublime Text uses a custom UI toolkit, optimized for speed and beauty, while taking advantage of native functionality on each platform.
See all alternatives