Live data from Hacker News

Toward a “modern” Emacs

lwn.net

331–340 of 539 posts

Re: Toward a “modern” Emacs

#331
I always wonder how those "dark mode" or "change menu" requestors would react to the interfaces of airplanes or helicopters. People want complex and powerful tools to look like a car with an automatic gear or even a bicycle. Yes, the learning curve to fly is steeper than the learning curve to drive. As is the learning curve to drive with stick gear instead of automatic.

But you do not need to learn all the intracies of emacs to use it effectively. My wife (non IT) is quite capable of using Aquamacs on a Mac to do her editing. And using org-mode. She switched to Aquamacs after living twice through the harsh experience of Apple killing various programs and leaving her with proprietary document formats she needed to somehow convert/recover to the next "cool" word processor.

I got into contact with emacs (actually zmacs) on Lisp machines long ago. And it had some very nice features which I still miss in the classic emacs. But they vanished due to "worse is better" as did the wonderful space cadet keyboard.

Re: Toward a “modern” Emacs

#332

I love org-babel (executing code blocks with a text document, like jupyter notebooks) for technical documents. I know of nothing comparable. The rest is a messy pile of possible frustration. I would happily trade emacs modernization for a standalone Babel like system, that could be used with whatever editor. Maybe like LSP to vscode.

I had a look, after posting this comment to various other tools allowing to run code within text to produce tech documents.

There are quite a few, mostly for markdown, and mostly limited to literate programming. See rundoc, codedown, gfm-code-blocks.

Re: Toward a “modern” Emacs

#333

Earlier quoted context omitted.

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've been using Emacs for an entire 1 year and I have to say - I only like OrgMode. I've barely tried out Magit, so maybe that's another killer feature. But for programming, I think that Emacs is too steep a hill to climb when VSCode and JetBrains' IDEs offer so much out of the box or just a few clicks/commands away. In Emacs, you can can, in theory, do anything you like. And it is so impressive when you customize it…

Have you tried preconfigured Emacs distributions, like Doom or Spacemacs? You just open your init.el file and uncomment packages you want to enable with pretty good defaults. They have package managers preinstalled too, like straight.el. Also, every package has easy to paste initialization snippet

Re: Toward a “modern” Emacs

#334
post #98

Earlier quoted context omitted.

I've personally known 2 Emacs users in my ~15 years in the industry. I've worked in Europe for various startups and a bunch of corporations. Both of them used it as a sort of hobby/side editor, their main money maker was an IDE (VS, IntelliJ). I've probably worked with 500 developers, if not more. My personal impression is that Emacs is like the Yeti of programming editors. Everybody has heard about it, few claim to…

Since you mention IntelliJ, is it possible that the corporations you have worked in have been heavy on Java? JDEE ( http://jdee.sourceforge.net/ ) exists, but even I give up on Emacs when I want to write a lot of Java (and I use Emacs for literally everything else, including JS).

I don't do a lot of java development but https://github.com/emacs-lsp/lsp-java works really well for me.

Re: Toward a “modern” Emacs

#335
post #170

Earlier quoted context omitted.

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…

[deleted]

Re: Toward a “modern” Emacs

#336

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.…

> in fact it is automatic and instantaneous and faster than any other editor

Really? I've always found emacs to be on the slower side of things (not nearly as bad as jetbrains / visual studio, of course) and many keyboard commands to be unnecessarily clunky. I don't know how many times I've given emacs a go, and yet I can't seem to get nearly as proficient as I am with VSCode (and sublimetext before that).

I know part of it is that I don't typically work in languages where having a live REPL up is terribly useful, so emacs support tends to be a bit... second class.

I think my biggest gripe is that there are actually two mountains to climb. First, you have to become proficient with emacs- the chords and so forth. Then you have to find the magical combination of plugins that work together on your operating system with the magical configuration that brings emacs up to par with things that I consider to be table stakes for a good development experience. Doom emacs probably got me the closest there, I think, but struggling to become moderately productive when I already have a tool with which I am extremely productive seems entirely pointless.

Re: Toward a “modern” Emacs

#337
post #215

Do the defaults in Emacs matter, at all? Doom Emacs, Spacemacs, and dozens of other default configs already exist. I've been using Emacs for years, I never learned the default keybindings. I used Evil mode right from the start. I just don't see this as a real problem. A small (incomplete) list of real problems: - No timeline on Wayland support, Wayland will likely require substantial work and refactoring. - Performan…

Don't forget syntax highlighting shortcomings. Sublime, VS Code, Syntect, Pygments, and other highlighting engines all get most languages right. Emacs and vim both do weak and incomplete jobs identifying tokens. It makes nice color schemes look bland because they skew toward only a few colors. At least neovim is working on treesitting which should improve this ability.

Right, I've noticed this while trying to update my vimrc for web development. Syntax highlighting is just not as nice as in vscode.

Re: Toward a “modern” Emacs

#338
post #321

Earlier quoted context omitted.

What language? Some languages have Emacs usage in the range of 0%, such as Java and C#.

That is very fair question. In my experience of html, css, js/ts, C#, VB, java, php, c/c++ and python I have never seen any emacs users in 20 years. I think it is really a language and region cut going maybe back to the universities supporting lisp or something else

It is fairly common with C programmers, and C++ programmers outside Windows ecosystem.

Re: Toward a “modern” Emacs

#339
post #28

I don’t know. I read the whole article and it seems the suggestions boil down to emacs needing to be more “modern” by defaulting to dark mode, making color theming easier, changing right click behavior, the menus, and changing the shortcuts. And the author of the article would like the development process to be more “modern.” Emacs is one of the most successful text editors of all time if not the most successful. It…

transparency, gradients and rounded window corners.

oh, and a thin sans-serif font.

maybe a soundtrack

Re: Toward a “modern” Emacs

#340
post #132

Earlier quoted context omitted.

That is what I never understood -- I've implemented exactly this "which editor emulation do you want to use" and "edit your own bindings" for one Windows product containing editor in early nineties. It wasn't hard. The default was, of course, the "least surprising" for the platform, but it also allowed other popular editors then. If there's anything that can reduce friction to the new user, it's that: a beginner can…

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…

> I've never seen anyone who did the 2 minutes or two hours of work, went into a configuration, and changed these keys.

I believe it's true: I don't think anybody could even dare trying to change the key combinations if all the help pages can help you only with the description "META v" means "scrolling down in x jumps" or whatever.

In that case one spends time figuring out that these weird pages write each time "META" instead of writing... I don't know what... and then one just "translates" in head each time, cursing the "help" for not being direct. But changing the combinations to make even such "help" even more unusable? No way.

The complete mindset would have to be different across all tutorial and references to avoid "hardcoding" the key combinations even there -- the "proper" help would reflect the environment as chosen.

The beginner's expectation is that all trivial interactions could be done the way he's already used to perform them, and the "power" of the editor is not in pressing combination a or combination b, but in the functionality which is not present in other editors.

For the context: One of my oldest muscle memories are key combinations of Wordstar, a character-based text processor. The the editors on DOS and later Window which targeted programmers had for years default key combinations which imitated Wordstar, or allowed to select them once for all. But most people from that times unlearned these combinations once they started using Windows GUI, expecting that all GUI interactions use the GUI common key combinations, like holding shift and moving cursor using the arrow keys to mark the selection. Some convention came from the traditional Mac OS, initially Windows started with some other combinations than Ctrl-C, Ctrl-V, but I've never used these older Windows-unique (Shift-Insert or something). Of course on Linux GUIs it can still be a mess:

https://askubuntu.com/questions/26655/how-do-you-know-when-t...

where sometimes one work and another not when clipboards aren't "shared" with installing some additional program that does that. So let's not go there. Considering the more "stable" GUI platforms (which sometimes also, unfortunately, aren't: some special "clipboard managers" are introduced there too in different occasions) the editors should "fit" to them as much as possible.

Is there is any tutorial "start using Emacs based on what you already know when using Notepad, without having to unlearn the basic operations with the keyboard"?

At the end a "normal" user just wants to do his job. If some tool allow doing what other tools don't, that's the reason for the tool.

Editors, once they become "the environment" for work are however also not normal tools. If the whole production in some company is based on some set of tools, one will accept them "just to get the job done" since anything else would mean even more unnecessary effort. That's how some people learn vi, for example, reading the HN posts. They join a team where it's "how the job is done".

Post reply on HN