skip navigation
Home | zeronumbers
Перейти к русской версии

The problems of emacs

Emacs seems like a powerful extensible text editor that can do anything.

Here are some problems that I have with it:

Example: need to close emacs?

“hold ctrl and press x then hold ctrl and press c”

It is inconvenient to have different set of keyboard shortcuts only for text editor, no matter how great it is, you still use it on a system with other software.*

I agree that on its own this is not a big problem, however combined with others it is.

That is not a problem, but there should be gui alternative, and you can compare gui of emacs and gui of vscode, you can tell which one is older and even by how much, vscode however includes proprietary parts.

Meaning it doesn’t work like modern software.

Example: modern programs have tabs, and you can click on them to switch to the one you want, in emacs there are buffers, not tabs

Example2: there is no paste but there is yank (they probably work same way)

Example3: Check “Misleading key bindings?” section of: talk page about emacs on wikipedia

Example4: even notation for keyboard shortcuts is a legacy from older computers which had keyboards with meta key which is why you can see “M-x” keyboard shortcut in manuals. M there stands for meta, there is no such key on modern keyboards and alt is used instead but all documentation still uses M for meta. And it is not just documentation but also community, everyone uses it.

Source: space cadet keyboard image on wikimedia

Notice the meta key that is not present on modern keyboards, the ctrl key is next to space, where alt is now. Because ctrl key moved to the left but keyboard shortcuts didn’t change you now need to reach much further with your pinky, which may end up in a Repetitive Strain Injury (RSI).

It is interesting that emacs community insists on forcing old keyboard shortcuts, but they care only about names, as in meta to be kept meta. But they don't care about physical placement or ergonomics of keys, you can see on image above that ctrl is next to space, and meta is to the left of ctrl. On modern keyboards it's the opposite.

example5: enter is called RET for return, backspace is DEL (how then del key is called?)

The problem here is that you don’t get what you expect since you live in modern time and don't use old keyboards or haven't seen buffers, first you need to learn it and only then you can use it which isn't convenient for a text editor.

In other words there is a same problem as with unique keyboard shortcuts, it is not convenient to have all software designed one way and a text editor that is designed in some other ways. Again not a huge problem on its own but combined with rest it is.

I just couldn’t continue tutorial when I saw them.

ctrl-p
up
ctrl-n
down
ctrl-b
left
ctrl-f
right

You may notice that keys are not grouped unlike arrows.

(emacs tutorial mentions that arrows are less efficient than those keys above)

There is more:

  • Button that is supposed to move right is the most left out of 4 keyboard shortcuts that are used for movement.
  • And the keyboard shortcut that is supposed to go left is to the right of the keyboard shortcut that is supposed to go right.

Wanna know how this happened?

The developer just decided to follow “standard” of local community which had a size of ~20ppl.

Irony is that now emacs doesn't follow standards of majority.

The problem is that if you want to compete with more popular standard, yours has to be better, not worse.

In fact when Richard Stallman planned to create free software system he decided to follow design of unix and make his system compatible with unix so that many users of unix would find it easy to switch.

That is a great idea, and should be used for emacs too, only problem is that the times have changed and there are more windows users out there that may find it inconvenient and hard to switch from notepad to emacs.

Perhaps this is the reason why people use default, no matter how terrible it is. This is a big problem actually. The thing is that people that use emacs have the keyboard shortcuts in their memory. You can often see how people say that they got emacs keys hardwired in their memory. This obviously means that it is difficult for them to switch keyboard shortcuts. So basically people are in a way made a lifetime choice and it wasn't a good one.

Next thing those people do? Maybe stop new people from doing same mistake? Of course not, they will try to convince you that default keys are great, yet what is the design behind default shortcuts, if there is any at all, aside from random generation?

(there is a menu bar in emacs, but it is hard to navigate, idk even how to change keyboard shortcuts in it) (It looks like it is done by people that just don't use gui. And that is probably the case, emacs just filters people. Those that can do emacs lisp, that can use emacs defaults or vi keys, those that want to learn old designs, those people stay. The ones that don't want to do that just gonna have painful experience and will leave.)

The problem is not the coding, in fact coding part makes emacs so powerful.

The problem is that for some small tasks there should be easy alternative for user that just installed the program.

Here I think I need to explain that it is not a big problem since they are very similar, but problem is that average computer user has no knowledge about programming at all, so what he will do? He will look for information what is this emacs lisp? Turns out it is a descendant of lisp, next what he will do? Look for information about lisp, chances are that information will be something like lisp is from 60th, unpopular, strange syntax etc.

While that may not be true but to find out that you will have to learn it first, and why would you learn it after all that information?

This isn’t a big problem for me

  • A text editor that works in a way that you can’t predict, with design choices which are not only different but sometimes also worse

  • That is designed to be used with keyboard shortcuts which are unique, and which don’t make any sense (and may also cause RSI)

  • And if you want to customize it to behave the way all other software does then welcome to learning a programming language

    Now compare that to notepad and guess which one the user will choose to edit a text file.

Yes and No. Ideally there is supposed to be windows and mac modes which you can enable and get expected results, while the people that are used to old emacs could continue to use it.

THERE IS CUA MODE you are probably screaming right now. Well yes yet it is not what is expected, the cursor movement is still same, ctrl-n ctrl-o ctrl-s doesn’t work as it should etc.

For mac there is aquamacs, but I don't know such alternative for windows style shortcuts, and things like this should be in default emacs.

Emacs has some very good ideas, yet it has problems that I couldn't even imagine. I just can't understand how can good design coexist with such a bad one. Why instead of admitting that a mistake was made, it is being called a feature.

​* I know that there is some other software that doesn’t follow modern standards like vi or bash, but most software, on windows, mac and even Linux works as expected.

This has led to very interesting situation where the extensible emacs is not customized while all other software gets customized to behave as emacs’s defaults.