Live data from Hacker News

Toward a “modern” Emacs

lwn.net

161–170 of 539 posts

Re: Toward a “modern” Emacs

#161
Emacs is really fun.

Edit files remotely: `/ssh:bird@bastion:/path`

Edit files two hops away: `/ssh:bird@bastion|ssh:you@remotehost:/path`

Edit files two hops away, also in a docker container: `/ssh:bird@bastion|ssh:you@remotehost|docker:container:/path`

Re: Toward a “modern” Emacs

#162

Earlier quoted context omitted.

In Emacs, you can configure literally anything, including the keybindings . Some people use Emacs with Vim keybindings (Evil, Spacemacs, Doom). Now, for me, typical Emacs keybindings, of which the majority is defined in 3rd party packages are very logical, while Vim's are not. But the users who prefer the Vim way did they work and configured Emacs however they liked. OTOH, of the million people who complain and ask f…

Probably because having the default be something other than what a user is used to is not going to compel them towards doing the research to fix it. In order to get cua-mode working in emacs, you first have to know that it exists. I didn't know it existed for like two years of daily emacs usage, I just can't find it in myself to expect someone to know about it after 10 minutes. By the time you know it exists, you've…

Perhaps, but out of the million and counting know-alls, who:

1) claim they know a thing or two about emacs

2) claim that the biggest problem emacs has is CUV

3) demand that change from the core Emacs team

exactly zero people created a CUV-emacs configuration, and gifted it to the world.

I think that's telling.

Keep in mind that all three combinations are central to Emacs

1) C-c is used in million combinations 2) C-u too 3) C-v scrolls a page down.

Re: Toward a “modern” Emacs

#163
post #26

Earlier quoted context omitted.

A lot of things are different without being better. Before ctrl-x/Ctrl-v became the standard for Cut/paste, it was Ctrl-del/Ctrl-insert in many dos and early Windows editors - which makes a lot more mnemonic sense. It’s better to standardize on something, but that something isn’t necessarily better and is often worse.

C-x and C-c make some sense as cut and copy. But C-v, C-z, C-y as paste, undo, and redo just make little sense. The first two make sense for their proximity to x and c in the QWERTY layout. y only makes sense if it happened to be unassigned. Keyboard shortcuts will always fall into one of two categories: That makes perfect sense (usually mapping to a mnemonic like C-a for "select all"); That's totally arbitrary (C-y)…

Note that redo is often ctrl+shift+z which is much easier to type. However redo is a weird case because traditionally most GUI applications (at least on Windows) didn't have explicit redo even until late 90s/early 2000s and redo was just undo a second time (ie. undo was just a flip between the last and previous state). When applications started to add an undo stack and redo command there wasn't a commonly accepted shortcut key for it so they used whatever made sense for the developers - which is how ctrl+y (previous to letter z) and ctrl+shift+z (in Windows shift often inverts the action, e.g. alt+tab vs alt+shift+tab) came to be (though those weren't the only ones).

Re: Toward a “modern” Emacs

#164
post #155

Earlier quoted context omitted.

It's over 40 years old but it has fewer and fewer users younger than that. VS code is rapidly taking over it's niche and without modernization, of many kinds, emacs will die out in a generation.

When you've been warned the world will end and ~~notepad~~ VS code will take over for 50 years you tend to become blase about the whole thing. Emacs has a steep learning curve and that's good. You need a moat to keep the barbarians from destroying your kingdom.

I have used emacs since I was an undergrad, 25+ years ago and I have no plans to switch. That does not stop me from recognizing the fact that VS Code does almost everything that emacs does, often better, has orders of magnitude more users, is much more approachable and is being improved at a much faster rate. As they say, "this time its different".

Re: Toward a “modern” Emacs

#165

Earlier quoted context omitted.

It's over 40 years old but it has fewer and fewer users younger than that. VS code is rapidly taking over it's niche and without modernization, of many kinds, emacs will die out in a generation.

In a generation, vim and emacs will still be around with their minuscule but loyal user bases of tinkerers and VS code will have long been replaced by something newer and flashier.

Why? How are either of them superior to VS Code?

Re: Toward a “modern” Emacs

#166
post #155

Earlier quoted context omitted.

When you've been warned the world will end and ~~notepad~~ VS code will take over for 50 years you tend to become blase about the whole thing. Emacs has a steep learning curve and that's good. You need a moat to keep the barbarians from destroying your kingdom.

I have used emacs since I was an undergrad, 25+ years ago and I have no plans to switch. That does not stop me from recognizing the fact that VS Code does almost everything that emacs does, often better, has orders of magnitude more users, is much more approachable and is being improved at a much faster rate. As they say, "this time its different".

I will check it out in 10 years if it's still around. In the mean time I have actual work I need to get done.

Re: Toward a “modern” Emacs

#167
post #26

Earlier quoted context omitted.

I suppose rms can't understand why anybody would think anything could be better than what he chose to do 40-something years ago.

A lot of things are different without being better. Before ctrl-x/Ctrl-v became the standard for Cut/paste, it was Ctrl-del/Ctrl-insert in many dos and early Windows editors - which makes a lot more mnemonic sense. It’s better to standardize on something, but that something isn’t necessarily better and is often worse.

FWIW it was Shift+Del for Cut, Shift+Insert for Paste and Ctrl+Insert for Copy and AFAIK that came from IBM's CUA. Also these shortcuts are still supported by Windows (and personally while i use Ctrl+X and Ctrl+C for Cut and Copy, i tend to use Shift+Insert for Paste :-P).

Re: Toward a “modern” Emacs

#168

Earlier quoted context omitted.

What are some of the changes you would want to see?

I think adopting cua-mode as the default would go a long way towards reducing the initial friction for new users. Most of the time when I try to get people to adopt emacs, they abandon it because it feels like a huge task to relearn basic text manipulation. They never get to actually see what makes emacs good because they don't feel compelled to get past the initial bump.

But here's the question: If Emacs defaulted to CUA, how many of those people would get to see Emacs's goodness? CUA alone doesn't get you there. To do most of the things that make Emacs stand out involves a fair amount of learning (and possibly customizing).

You have to put in some amount of effort before you get its benefits. While I certainly don't mind making simple things easier (e.g. CUA mode), I also see that doing so will not help new users much beyond doing very basic editing.[1] There are a fair number of stairs to climb to get to the point of being useful, and superficial stuff like CUA, etc simply eliminate perhaps 5% of the steps. Don't expect this change to make a big difference in retention.

As a corollary: If someone is not willing to learn how to enable CUA mode in the config file, then it is highly unlikely they will ever learn to use the features that make Emacs salient.

[1] I know, because my first decade of Emacs use was like this. I got past CUA mode, but otherwise used it for very basic editing. I always installed an IDE to do "real" work. It's only after one of my favorite IDEs died did I decide I really should just learn to use Emacs properly, and invested a week's worth of effort to be proficient in it. That week made all the difference.

Re: Toward a “modern” Emacs

#169
"Some of the ideas found in these distributions may well merit inclusion in Emacs, but that does not happen."

1. Which ideas are they referring to exactly? Can't upstream something if you don't know what they want...

2. How do you even get approved to send code to FSF owned projects? I read somewhere you need to send a copy of your employment contract for them to determine you can assign copyright to them. But what are the exact steps? Who do you email? How do you exactly encrypt the file? What are the acceptance/rejection criteria? No seriously, somebody please make a beginners tutorial about this, I have no idea how to start.

3. Upstream Emacs releases once a couple of years or more, with no predictable schedule, can't blame anybody for wanting to stay away from upstream and have their setup under their control. But then again, I know of a worse offender...

So... what should my next steps be?

Re: Toward a “modern” Emacs

#170

Earlier quoted context omitted.

Meanwhile, I’m always amazed how, on HN threads about Emacs, people talk about preferring the Vi family of editors. When I installed Linux on my computer two decades ago and had to learn *nix, my own (totally subjective) impression was that the Vi family was regarded as clunky and half-obsolete, about as much of a pain as editing in ed. As I began to contribute to the Free Software community, most of the other people…

When I entered a technical University in Spain, all the masters(teachers that have done incredible things on their lives) used either Vim or Emacs. Most "normal" people just used other "more visual" editors. As I learned from the masters I started using more and more both vim for unix tasks and programming and emacs for lisp. Now I use 65%vim, 30% emacs, 5% other editors. Both of those editors are extremely powerful.…

Your reference to musical instruments resonates with me (I play piano) and the fact that emacs call they keyboard bindings "chords" further complements that view.

I guess the issue that is being handled here thought is that, just like the piano, the road for those actions to become unconscious is a long painful one.

When I started using Golang for work the first thing that I did was buy GoLand from jetbrains. It just works, and I'm paid for "playing piano", not for "learning how to play piano"

I wish I was able to use emacs professionally but until I'm able to dedicate (usually unpaid) time to learn it, it's just easier to use something else

Post reply on HN