avatarMichael Bao

Summary

The author switched from Neovim to Emacs due to Emacs' extensive functionality, particularly highlighting Org-mode and Org-roam, despite its slower speed and steep learning curve.

Abstract

The author, a former user of Vim and Neovim, decided to switch to Emacs after becoming frustrated with Vimscript's limitations. Despite the initial satisfaction with Neovim's customizability and features like built-in LSP and treesitter, the author found Emacs, specifically Doom Emacs, to offer a broader range of functionalities. Key reasons for the switch include Emacs' Org-mode for efficient note-taking and Org-roam for knowledge management, which the author likens to a "second brain." The integrated nature of Emacs, allowing for tasks like web browsing, SSH, and IRC within the editor, as well as the Magit tool for git version control, contributed to the decision. However, the author acknowledges downsides such as Emacs' slower performance compared to IDEs, the never-ending configuration process, and a steep learning curve, especially for those not familiar with Vim. Despite these challenges, the author encourages others to consider Emacs for its comprehensive capabilities.

Opinions

  • The author found Neovim's configuration to be satisfying and feature-rich, but ultimately limiting compared to Emacs.
  • Emacs, particularly with the Doom Emacs configuration, is praised for its extensive functionality and the ability to serve as a comprehensive environment for development and note-taking.
  • Org-mode and Org-roam are highlighted as significant advantages of Emacs, enhancing note-taking and knowledge management.
  • The author appreciates the "more integrated feeling" of Emacs, which supports a wide range of activities beyond coding.
  • Magit, an Emacs tool for managing Git repositories, adds to the seamless experience within Emacs.
  • Despite its advantages, Emacs is recognized for being slower than some IDEs, which might be a concern for some users.
  • The author notes that Emacs requires continuous configuration due to frequent updates, which can be seen as a drawback.
  • The learning curve for Emacs is considered steep, but the author suggests that the benefits outweigh the initial difficulty.
  • The author suggests that the choice of editor is personal and should be made based on individual needs and preferences, while hinting at the potential benefits of adopting an editor with Vim-like capabilities.

I Switched From Neovim to Emacs, Here’s Why

Github repo with my dotfiles.

About three years ago I got into using Vim, but quickly I got frustrated by Vimscript and the inability to extend it, eventually landing on Neovim. This was by far the better experience.

The Neovim Experience

Screenshot by Author

After hours of work put into configuring the text editor, I finally got to a point where I felt at home (and if you interested in what plugins I’m using see this). There is not a point to configuring Neovim like this unless you want to get what best fits you. Some great Neovim configs are, NvChad and LunarVim.

Neovim has many great features including a built in LSP, treesitter, and hundreds of customizable parts. There are not many downsides to Neovim. It’s the sort of the thing one would say, “it just works.”

The Emacs Experience

Screenshot by Author

I use Doom Emacs so this is what I will be refering to when I say “Emacs”.

Just like Neovim this also took some time to configure, however I feel that I spent less time configuring this which is inpart due to using Doom Emacs. Doom Emacs is sort of like a costume covering Emacs but also adds extra functionality.

Similarly, Emacs “just works” but it has a bigger range of functionality than Neovim.

Why Emacs

There are many reasons why I chose Emacs of Neovim, but I have only listed my top ones.

1. Org-mode

This was my biggest reason to switch to Emacs: Org-mode. Org-mode makes note taking extremely simple (there a slight learning curve). Without Emacs Org-mode isn’t really anything special, comparing it to Markdown, they are almost indistinguishable (functionality-wise). However, with Emacs, Org-mode, really shines.

Org-mode has a big feature that is quite amazing, it’s exporting. It can be exported in to virtually every format possible. HTML, Markdown, LaTeX, you name it.

2. Org-roam

Org-roam is a plain-text knowledge management system. It brings some of Roam’s more powerful features into the Org-mode ecosystem. (reference)

Org-roam uses the functionality of org-mode with the power of roam notes. It allows me to create a cohesive knowledge base of my notes. I also sometimes call it my “second brain.”

To continue about Org-mode exporting. I use uniorg and vercel to host my notes (still very work in progress) make it look very nice. I would like to add org-roam-ui to it once it supports publishing.

3. More Integrated Feeling

Everything you could want to do on a IDE or even a computer can be done on Emacs. Activities like web browsing, ssh (this is especially good), and irc chats. The fact that I can do my development and take notes in it makes it so nice and seamless to switch between tasks.

4. Magit

Now, Magit wouldn’t be a big reason to switch to Emacs (in my opinion), it does add to the “more integrated feel.”

Magit is a git tool. It has all the functionality that someone could every want and overall I like to use it instead of the terminal. Since it uses keybinds (like the rest of Emacs) it allows for anything to be done quickly especially git commands.

Good, But Where is The Not So Good

1. It’s Slow

Emacs is slow, there is no doubt about that. If you want to use Emacs there is only one choice, get used to it.

I would like to add some notes on why it shouldn’t be that big of a deal. For one if you compare it to an IDE, its still lightling fast. And with all the functionality that it brings to the table I feel like it isn’t a deal-breaker.

2. Configuration

Getting Emacs configured to something that you like will never end. All the new features and breaking updates means that you will have to constantly change your configs. This is just the way Emacs is. But it is possible just never update, but I don’t recommend that.

3. Learning Curve

Emacs’s learning curve will be steep especially if you haven’t used anything Vim based. Though please not be discouraged, it could still be worth the effort. I personally have gained tons of functionality and the ones I have listed here are only a few of many.

Emacs or Neovim or ???

Whatever editor your using, is the one you choose. So don’t feel like you are being forced to switch (whisper: but if your not using something Vim based your missing out). I’ve chose my editor and listed out a few reasons and some possible deal-breakers, so now make your choice to switch or not to switch.

Thanks for reading.

Keep vimming (or emacsing?)

Linux
Emacs
Vim
Programming
Computer Science
Recommended from ReadMedium