Emacs seems like a powerful customizable text editor that can do anything.
Here are some problems that i have with it:
1) Emacs has its own unique keyboard shortcuts
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.
2) You are supposed to do nearly everything with keyboard shortcuts.
That is not a problem, but there should be gui alternative.
3) Emacs is a legacy software
Meaning it doesn’t work like modern software.
Example: modern programs have windows, and you can click on them to switch to the one you want, in emacs there are buffers, not windows.
Example2: there is no paste but there is yank (they probably work same way)
Example3: Check “Misleading key bindings?” section of:
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.
Notice the meta key that is not present on modern keyboards, the ctrl key is next to space, where alt is now. Because control 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
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.
4) The biggest problem for me, is that the unique keyboard shortcuts have no sense.
I just couldn’t continue tutorial when I saw them.
ctrl-p for up
ctrl-n for down
ctrl-b for left
ctrl-f for 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.
That is insane. I can’t imagine how people could ignore this part of tutorial.
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.
5) You can change keyboard shortcuts (if you know how), but you will end up being the only one, so good luck with finding help or using external packages or reading documentation.
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? Ofcourse 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?
6) The changes are done by editing emacs init file, it is a file with emacs lisp code, yep you need to code to change something.
(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.
7) Emacs lisp is a dialect of lisp but it isn't lisp copy, so it is different.
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?
8) Gui emacs and terminal emacs aren’t same
This isn’t a big problem for me
So in the end we get:
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 programing language.
Now compare that to notepad and guess which one the user will choose to edit a text file.
Should emacs change?
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 doesn’t follow modern standards such as vi or bash, but most software, on windows, mac and even Linux uses them.
This has led to very interesting situation where the customizable emacs is not customized while all other software gets customized to behave as emacs’s defaults
Turns out I am not the only one,
More information and it is very old but most stuff is still not fixed and ofcourse it's not a bug it's a feature.