Emacs keybindings on Ubuntu


Having used Emacs since it was first invented, at last I have found Atom. it’s the first editor I have seen that I would consider changing to. That’s saying something!

The Atom user guide says that common emacs keybindings are installed by default. On Ubuntu 15.04 with Atom 1.0.11 the emacs keybindings do not work as you would expect (line up, line down and so on), and the keybindings settings do not show them. On Mac OS X with the same version of Atom the keybindings work as per normal emacs bindings.

Is anybody able to help out?


Default Key bindings on Linux ... Again!
Default Key bindings on Linux ... Again!

The atomic-emacs package provides a more comprehensive set of emacs key bindings.


Thank you. My question is therefore also, why are emacs bindings not standard on the Linux build of Atom? Surely a vast majority of UNIX/Linux users would be most comfortable with emacs bindings?


My guess would be that Atom aims to appeal first and foremost to users of text editors such as Sublime–there are many similarities between the two editors.


I wouldn’t go that far. Yes, a lot of things from Sublime were mimicked or copied. But the foremost aim of Atom is to create a customizable and extensible editor … so that people can make it work however they’re most comfortable.

On the flip side, defaults have to be chosen. It’s much easier to have the same or very similar defaults across multiple platforms than to try to explain why keybindings map closely to Sublime on Windows, but Emacs on Linux.


You’re totally right. I didn’t mean to come off saying that Atom’s primary goal is to mimic Sublime. The extensibility is definitely my favorite offering Atom provides :smile:.


I am confused. The point is that the defaults are not the same across platforms, and even seem to be inverted, in that Mac OS X supports common emacs keybindings out of the box and the linux version does not at all. I would have thought that most linux users are familiar with linux, and that most Mac users would be more familiar with editor like Sublime, as emacs is not a native part of the Mac environment. So the defaults are not at all similar, in terms of keybindings anyway. Currently, atomic emacs crashes also ever time you do anything similar to emacs, sadly.


Actually, OS X has many Emacs key bindings defined as OS defaults and work in any standard application (including TextEdit, TextMate, Messages, Terminal, Mail … and those are the ones I tested just now). So it would be surprising and rightly considered a bug if the Emacs key bindings were not honored on OS X.

The same is not true of Ubuntu or other flavors of Linux, to my knowledge.


I was also confused from the manual, but then figured that the Atom manual was written from an OS X perspective, where Ctrl is not the Ctrl we know from Linux/Windows keyboards, but rather a second modifier next to Command (Cmd), which has a role similar to Ctrl on non-Mac keyboards (e.g. “Save” is Cmd-S). There is no equivalent for the Apple keyboard’s Ctrl on other keyboards, which is why the Emacs keybindings (which are bound to “Mac Ctrl”) are not available to non-OS-X users.

That being said, us Emacs fans can still use the atomic-emacs package as @oggy suggested, but at the expense of rebinding a lot of Atom’s standard shortcuts.


Actually, the keys map like this:

  • OS X Ctrl == Win/Linux Ctrl
  • OS X Option (also called Alt) == Win/Linux Alt
  • OS X Cmd == Win Windows == Linux Super/Tux/OS

The keys are ordered differently on Mac keyboards, but they send the same key codes.


What we would like to know is the rationale behind this design decision, from the atom developers.


This issue has been discuSSed before. But I highlight this issue again because I would like to know the oficial reasons behind this decisions: Why the key bindings are not the same for Linux?.

The first time this caused some annoyed to me was during my first flight manual reading. Many keybindings were useless. Anyone coming from Linux stumbles with this.

And since I am a Emacs user, I though that precisely the default keybindings that resembles Emacs were the killer feature for trying Atom. Why is this true for Mac and not for Linux?.

Then tried different packages for emacs keybindings, but it didn’t went well.

What I really want is to experiment with the keybindings Atom developers designed for Mac (not the one provided by the Emacs package, but the default one). I want to understand by practice what the designers of Atom understand as a great text editor. Maybe a there is a package for this (instead of cmd key, maybe super, but carefully taking into account that super is used for many things in Ubuntu, Elementary and many others).

This is a design decision. I would like to know the rationale behind it. Reasons can convince people. I didn’t give Ubuntu/Unity a try until I read the reasoning behind the design decisions. And I’m now accustomed to it (I like it).