Hacker News new | ask | show | jobs
by raverbashing 2881 days ago
> The defaults you're used to are a historical accident, and are also crap

Agreed, that's why I use modern IDEs as well when vim gets in the way

> How on Earth did you get there?

f1 + ? then "describe bindings" which looks like the most relevant option

(I had opened a file with emacs first, I see the welcome page has more helpful guidance, but opening a file is usually what people do first)

> following a (somewhat) consistent set of UX principles that are older than IBM CUA

Sure, it's the same with vim, old standards

> a tool for serious users

Thanks for reinforcing my point that Emacs is more worried about gatekeeping people than being friendly

2 comments

> Thanks for reinforcing my point that Emacs is more worried about gatekeeping people than being friendly

Any ideas how it could be better?

It has a built-in tutorial. It has thorough help. It welcomes you with instructions on getting help, as you noted yourself. There's plenty of guides and tutorials on-line, too. What else could it do to be more friendly, that would not involve sacrificing its productivity features?

Because it's not really gatekeeping - otherwise why would Emacs have so many, often annoying (myself included), evangelists? It's just about keeping the productivity ceiling high.

> Any ideas how it could be better?

There are a couple of things to explore. I've followed your suggestion and looked at the tutorial, which is fine for the most part (Alt didn't work but it's probably my terminal's fault, ESC ESC works but it's not great)

Compare it with vimtutor.

In the 1st page vim taught how to move around and how to close VIM. Emacs is still teaching 'PgUp/PgDown'. It teaches you how to insert text 7 pages down. Vimtutor: 3rd page

For this basic operations emacs is not harder than vim it is just that they go on and on on and don't get much to the point. To find out how to save a file you need to go all the way down and then read about 'buffers' and how your file is now a buffer and you save it (??)

And that seems to be the main difference. Everything is harder than it should be. Most shortcuts involve C-x something or C-x C-something (which is not very ergonomical). It does not share the conventions or even the vocabulary of other systems.

And something that applies to vim as well: Programs should cut the crap about using direction keys/PgUp/Down/Home/End. My 80s computer had them. Every modern computer has something similar to those operations and that works on all programs. "Oh but then you have to take your hands off of home" I do use a mouse and I do use other programs, as much as I like shortcuts, I have to move my hands and there are a lot of shortcuts outside of that area.

Thanks for your thoughts. The tutorial could definitely be improved and restructured.

> Most shortcuts involve C-x something or C-x C-something (which is not very ergonomical). It does not share the conventions or even the vocabulary of other systems.

Hey, Vim is the ergonomic one, Emacs is the extensible one (ergonomy improves somewhat with evil-mode, aka. vim emulation in Emacs) :).

> Programs should cut the crap about using direction keys/PgUp/Down/Home/End. My 80s computer had them. Every modern computer has something similar to those operations and that works on all programs. "Oh but then you have to take your hands off of home" I do use a mouse and I do use other programs, as much as I like shortcuts, I have to move my hands and there are a lot of shortcuts outside of that area.

The reasoning here is this: those conventions used in modern programs are hurting your productivity. Vim in particular is strongly optimized towards making your keypresses maximally efficient. Emacs much less so, but still, its defaults beat arrow keys, for which you need to move the entire hand.

FWIW, Emacs has cua-mode (named after that IBM CUA thing I mentioned), which gives you behaviour similar to every other program you know. Maybe it could be introduced to people earlier, but there's a good argument against it - CUA keybindings are really inferior to what vim/Emacs gives you.

Honestly I feel that it has become more of a fame and dissimination thing than anything else.

I've seen VIM portrayed as this holy grail of productivity for several years now, while Emacs has always been portrayed as a quirky complex editor.

I'm a VIM user and never used Emacs (nothing against it) but, correct if I'm wrong, both have a similar philosophy and have a higher learning curve than modern editors. They're also both extremely powerful under the right hands.

When I first got into VIM, it was from some conference video showcasing it and how to get good at it. Now remembering back I don't think I ever saw a similar thing for Emacs. I've heard of VimCasts but never heard of EmacsCasts (or something like that). It probably exists, I just never heard of it.

Maybe that's what missing for Emacs?

Take all this with a grain of salt. I may just live in a bubble regarding this :D

I think it's basically the Blub Paradox for editors: vi(m) is so much better than almost any editor, that its users think 'this, this is truly the best!' When they look at e.g. nano or Notepad++ or Atom, they can easily see how vi(m) is so much better, but when they look at emacs, they simply think, 'nah, I don't need to use that!'

The thing is, just like conditional, symbolic expressions and garbage collection are pretty important for writing expressive programs, so too a power extensible interface to textual information is important for communicating with a computer. vi(m) is a great editor, but emacs is a great editing environment.

I don't think it's deliberate gatekeeping.

In the process of learning a tool thoroughly you forget what it was like to not know how to do it.

So, it becomes hard to write a good beginner's tutorial. And you forget why the things which help beginners are useful, so they just look like clutter.

Personally, I don't think that 10-15 minutes reading the Emacs tutorial is much help to anyone. However, I am glad that I have spent the past few years learning how to use Emacs (and I haven't even learned elisp properly yet), and grateful to the people who made it and all the great software around it.