Classic Emacs editor gets a new-school makeover

Longtime users of the venerable Emacs editor can now use it with a sleek new skin that emphasizes consistency and ergonomics

Classic Emacs editor gets a new-school makeover
Duncan Hull (Creative Commons BY or BY-SA)

A new distribution of the Emacs editor, called Spacemacs, repackages the classic developer's tool in a new skin for greater usefulness to a new generation of programmers.

Emacs is one of the oldest text editors in existence. Its most popular variant (now 31 years old) is GNU Emacs, originally developed by Free Software Foundation president Richard Stallman. The editor's enduring popularity comes from its extensibility and programmability courtesy of the built-in Emacs Lisp scripting language -- and from the culture of tooling that's sprung up as a result. Extensions for Emacs (and, thus, Spacemacs) provide everything from integration with GitHub to Slack chat windows.

Spacemacs takes the existing GNU Emacs distribution and provides a new presentation reminiscent of modern text editors like Microsoft's Visual Studio Code or GitHub's Atom. All of this is accomplished by using Emacs Lisp scripting and Emacs' native presentation functionality.

clipboard01 InfoWorld

A Spacemacs session with a directory browser and a Python file open for editing. Those used to more conventional editors may find Spacemacs jarring, but its Lisp-powered scripting system has made Emacs a choice tool for developers for decades.

The Spacemacs development team cites four founding principles for the project:

  1. Mnemonic: The key bindings for Spacemacs are easy to remember, such as "s" for "search."
  2. Discoverable: All the add-ons and commands for the system should be easy to find. This is roughly akin to Visual Studio Code's "command palette" function, where users can type to find items.
  3. Consistent: Behaviors like key bindings are the same throughout the program.
  4. Crowd-configured: The project is driven by community input and curation, rather than using a top-down development model.

According to project lead Sylvain Benner, Spacemacs's feature set and design principles were originally developed for users of the simpler but less power Vim editor who "want to go to the next level by using Emacs." Spacemacs can switch between Emacs and Vim keybindings on the fly, allowing users comfortable with either program to settle in. (Other keybindings can also be created from scratch.)

How will users of more modern editors react? At the very least, they'll need to start by tossing out all of their assumptions about how an editor works. If you're turned off by the idea of an editor that doesn't even provide a drop-down menu from its main window, Spacemacs may be intimidating territory to venture into.

That said, the open-endedness of Emacs, and in turn Spacemacs, is attractive to those who want to apply a hacker's aesthetic to their toolset and their actual work.

Copyright © 2016 IDG Communications, Inc.

How to choose a low-code development platform