Seth Kenlon of Red Hat has an interesting article on five reasons that he love Emacs. Of course, all of us Emacs users have lots of reasons that we love our editor, but Kenlon’s articles considers how those features are or might be realized in other editors.
His five beloved features, along with some of my commentary, are:
- Packages and their management
- Emacs, of course has an excellent package system and other package managers for those looking for something else. Packages are one of the major features allowing Emacs to grow seamlessly and continuously.
- Integrations
- Kenlon wants his editor to feel like part of the operating system. He wants things like
~
to refer to his home directory in the file system rather than the editor’s notion of where you’re documents are kept. - Tramp
- The idea that editing files on remote machines should be transparent is something that Emacs and Tramp do very well. Tramp is, in my opinion, one of the underappreciated parts of Emacs.
- Syntax and linting help
- As Kenlon says, almost every editor supports some sort of syntax highlighting but Emacs has the notion of modes that customize the editing experience for particular languages or workflows. Some editors are ahead of Emacs here by offering better support for LSP and the like but Emacs is catching up.
- Keyboard shortcuts
- All editors support some sort of keyboard shortcuts even when they are designed to be menu/mouse driven but Emacs (and Vim) push this a bit further by providing a keyboard-centric environment that doesn’t need the mouse or menus at all. Many Emcees eschew the use of the mouse completely when they’re in Emacs.
Most other editors don’t support these features very well. Various editors can do some of the things on the list but many times their realization is a pale shadow to what Emacs provides. Certainly, no other editor does them as well and as seamlessly as Emacs1.
UPDATE
: Added link to article.Footnotes:
1
I realize this is perilously close to Red Meat Friday material but I still think it’s mostly true.