Atom vs Vim

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

Atom

15.6K
13.4K
+ 1
2.7K
Vim

24.2K
19.4K
+ 1
2.3K
Add tool

Atom vs Vim: What are the differences?

Developers describe Atom as "A hackable text editor for the 21st Century". 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. On the other hand, Vim is detailed as "Highly configurable text editor built to enable efficient text editing". 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.

Atom and Vim can be primarily classified as "Text Editor" tools.

Some of the features offered by Atom are:

  • Atom is a desktop application based on web technologies
  • Node.js integration
  • Modular Design- composed of over 50 open-source packages that integrate around a minimal core

On the other hand, Vim provides the following key features:

  • Vertically Split Windows
  • Vimdiff
  • Folding

"Free", "Open source" and "Modular design" are the key factors why developers consider Atom; whereas "Comes by default in most unix systems (remote editing)", "Fast" and "Highly configurable" are the primary reasons why Vim is favored.

Atom is an open source tool with 49.2K GitHub stars and 12.1K GitHub forks. Here's a link to Atom's open source repository on GitHub.

Lyft, Typeform, and CircleCI are some of the popular companies that use Vim, whereas Atom is used by Lyft, Typeform, and PedidosYa. Vim has a broader approval, being mentioned in 850 company stacks & 890 developers stacks; compared to Atom, which is listed in 836 company stacks and 725 developer stacks.

Advice on Atom 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
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
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
Tarcísio Gruppi
Recommends
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
Rogério R. Alcântara
Recommends
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
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
Decisions about Atom and Vim
Andrey Ginger
Managing Partner at WhiteLabelDevelopers · | 3 upvotes · 411.5K views

Since communication with Github is not necessary, the Atom is less convenient in working with text and code. Sublim's support and understanding of projects is best for us. Notepad for us is a completely outdated solution with an unacceptable interface. We use a good theme for Sublim ayu-dark

See more
Felix Hungenberg
Graphic Designer & Web Developer at hosting.de GmbH · | 2 upvotes · 65.8K views

I use Visual Studio Code every day, it was very refreshing coming from Atom to get a lightweight, all i need setup right out of the box.

After working with Atom for around 2 years I switch to VSCode.

Here is why:

  1. Color display of variables in code. This may now sound much, but it improve the display of scss variables and its a core feature.
  2. Out of the box features.
  3. Automation! VSCode suggests usefull things to you.
  4. Integraded console. I love the console in VSCode. It is faster than my 'default' cmd on Windows. For Atom you would have to install a package, that doesn't work so well on Windows.
  5. Output logging per Plugin.
  6. Setup time. In VSCode I can set up my workspace in under 5 minutes. For Atom I need
  7. Plugins work perfect out of the box. This is a mayor one for me. For example: In order to set up Editorconfig you have to adjust mutliple values and plugins to get it work. Plugin creators of Editorconfig for Atom are not to blame: They include a linter, that verifies whether the settings are correct or not.
  8. Git implementation. VSCode ships with Git and even if the git packet of vscode doesn't look like much, theres a lot to it. For example you can watch changes inline.
  9. Minimap and vertical scrollbar. This feature is much better implementet in VSCode and you don't need an extra plugin.
  10. Auto completion. Sass mixins example: @include and you press CTRL+SPACE and VSCode shows you every Sass mixin.
  11. Copy paths from open file tab. In VSCode you can copy the path of an file directly when you have it open. In atom you need to select 'show in tree view' and than copy the path or relative path.
  12. Tree view. The tree view VSCode automaticly brings you to the current open file by default. This helps when working with components.
  13. File search. The file search supports the asterisk so you can search for eg molecule-*.ts.
  14. Tasks support. Tasks are integrated in VSCode so eg. for Typescript you can CTRL + SHIFT + B and select tsc: watch - tsconfig.ts.
  15. Short waiting time. For example when deleting files or beautifying 20.000 lines of json (Atom hangs up).
  16. More releases. Faster feature implementation. Active community.
See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More