Cool Emacs

Emacs as a Shell

Pavel Korytov writes in his recent post;

So over time, Emacs has become my programming environment, email client, window manager, knowledge base, and a lot more. I think I ended up using Emacs for almost as many things as possible;

This is where I want to be in the near future. So far I’ve moved my development environment and email to Emacs. Next up are notes, RSS reading, and music listening.

What I love about Emacs is the consistency between modes/packages. They accomplish widely different things, but the general control scheme is the same. It’s great since all TUI programs I use tend to support Vim’s way of doing things. Having it all inside Emacs changes the dynamic. I’m trying to think of Emacs as a shell rather than an editor.

What Emacs really is, is a virtual machine running LISP code. Some say that Emacs violates Linux philosophy. I don’t see it this way. Does shell violate it? It’s also a way to run different programs. Emacs is an abstraction over real shell which adds some calm to it. It’s a way to have an interactive layer over OS… which also does text editing.

So, when you look at it this way, Emacs makes a lot of sense:

  • It runs programs. Bigger packages, like Magit, are nothing short of real programs.
  • It’s scriptable. Elisp all the way!
  • It allows for interoperability between programs.
  • It runs above basic OS. You can replace your window manager with Emacs, but you need some sort of kernel.
  • You can live entirely inside Emacs, just like you can live entirely inside a terminal.

Previous: My "whys" for Emacs , Next: Multiprocess Emacs environment, Up: Cool Emacs