Emacs is one of the most long-lived text editors out there. It’s so comprehensive, people often joke that it’s an operating system rather than a text editor.

I used to use Emacs as my primary text editor, code editor, calendar organizer, task management system and note keeping system.

Why I moved away from Emacs

After almost 4 years of using Emacs full time, I grew disillusioned with its “one tool that does it all” philosophy. Becoming reliant on it was both a blessing and a curse; being fluent in it made me very productive, but it handicapped me in environments where I did not have access to Emacs and my personal setup.

Some examples of this handicap:

  • org-mode can organize all of life, but runs best in Emacs, so I can’t rely on all of its power on my phone, even with apps like Orgzly
  • Org-roam is built on top of org-mode, and is an excellent knowledge management system, but there are no reasonable ways to access the resulting scattered org-mode files on an Android phone unless you install a terminal + actual Emacs
  • Emacs Lisp is a flexible scripting language which is tempting to learn and use, as Emacs makes it effortless to write and run, but it cannot be run without Emacs, so code written in Emacs Lisp doesn’t feel like it can stand on its own
  • magit is an amazing git UI, but it only runs in Emacs, so getting used to only using magit for source control meant that I was reliant on having Emacs for that too

On top of that, I discovered that keeping my config up to date (for any editor) was an inherently fragile process, and the speed at which bugs were discovered, acknowledged and fixed was relatively slow in the Emacs world compared to other editors that were more popular.

I ended up migrating to Neovim for code editing, Obsidian for knowledge management, lazygit for git source control, and (unfortunately) back to Google for task management and calendar organization.