Live data from Hacker News

Making Emacs Popular Again

lwn.net

441–450 of 782 posts

Re: Making Emacs Popular Again

#441

New employee 1 workflow at company X: 1. Install VS Code 2. Click extensions and install language specific plugin 3. Work New employee 2 workflow at company X: 1. Install emacs 2. Try to install some source code indexing tool 3. Tool is missing 13 dependencies, so spend 4 hours finding, installing and configuring the dependencies. 4. Spend another couple hours reading non-existent to terrible documentation (documenta…

That, and while emacs has a reputation as being the ur-editor from which all text editing innovation stems, the reality is quite the opposite. It's stagnant and hasn't been the center of text editing innovation for at least the last decade, and probably quite a bit longer before that. It was a particularly bad string of basic package incompatibilities that woke me from my emacs evangelist phase, but it was the realiz…

Emacs is a gui app. You can have if you like a tool bar. A menu-bar, tabs, split windows.

If you want something slightly more like a traditional gui emacs application framework enables bidirectional communication with QT applications running in emacs frames.

Personally I use it to render HTML mail inside emacs with what amounts to embedded chrome.

Re: Making Emacs Popular Again

#442

New employee 1 workflow at company X: 1. Install VS Code 2. Click extensions and install language specific plugin 3. Work New employee 2 workflow at company X: 1. Install emacs 2. Try to install some source code indexing tool 3. Tool is missing 13 dependencies, so spend 4 hours finding, installing and configuring the dependencies. 4. Spend another couple hours reading non-existent to terrible documentation (documenta…

I would expect an experienced emacs user to have a config already that more or less "works". Was this a junior developer that just decided to start using emacs one day? I'm not an emacs person myself, but every emacs person I have ever met already has it setup and customized and just brings their config. A new dev starting with emacs on a new job... just sounds like a bad recipe and misunderstood priorities.

While I think you're right on the whole here about "Emacs people," but you did an interesting thing in the first sentence: you contrasted experienced Emacs user with junior developer. And I think that actually points to a problem: people who are experienced developers but not experienced Emacs users are going to be in much the same position as the OP's description.

While I know the basics of Emacs, every time I try to get serious with it and make it my One True Editor, I end up spending days screwing around with packages and configuration files to try to figure out how to have similar functionality to what I get either out of the box or with fairly minimal effort in arguably lesser editors. I'm sure Emacs can do all of what I need and nearly all of what I want, but most of the time I'm damned if I can figure out how to get there from where I'm starting.

If I was really going to try to give advice on how to make Emacs more popular, it'd center around the package/extension system. It's great that it has package repositories and a built-in management system now, and the documentation for the core editor is terrific... but the documentation for packages is wildly variable, and what's worse, packages interact with one another, depend on one another, and/or conflict with one another in ways that are just utterly mystifying to a newbie.

I don't care about making Emacs "pretty," and while it'd be nice if it used less weird terminology by today's standards, I can deal with it. What I want is sane defaults and good guidance. Spacemacs' concept of layers -- where I can just say "I would like you to install and enable all the crap that lets me smartly edit PHP files, please" -- is absolutely onto something, although I would still argue that it might need to offer a little less choice by default. Don't make me choose whether I want Helm or Ivy because I have no idea, and for God's sake, enable sensible layers/packages by default: assume that yes, I do want autocompletion and git integration and such. If you must, let me click a button to choose between "batteries included" and "advanced" configuration. This is stuff that mainline Emacs should be doing.

And, actually, that's one other thing Emacs could stand to do better: learn from VS Code's configuration system that lets you use dropdowns and checkboxes and simple text fields for nearly everything, and has a button to go into the configuration files when you need it. Yes, I know Emacs has a text-based UI for configuration, too. I've used it. It's bad. Okay? It's just bad. The controls are non-standard and weird, the organization is utterly mystifying to someone who doesn't already understand Emacsology, just... no. Start over.

As for me, well, when Spacemacs moves the LSP layer to its non-development branch, I'll probably give it a try again. Until then, I'm probably gonna keep doing my technical writing in BBEdit and my coding in Visual Code. (I'm probably gonna keep doing my technical writing in BBEdit until I die, but that's a different post.)

Re: Making Emacs Popular Again

#443
post #171

Earlier quoted context omitted.

Ten minutes after I posted my message I just realized that the concept of a Macro has been around since the dawn of computing and is in large part responsible for the meteoric rise of Microsoft (along with a lot of viruses) What I mean is I'm looking for a editor with macro capabilities that can be programmed in, say, Javascript, Python or Lua.

Neovim is an editor with macro capabilities, which can be programmed in LuaJIT. It's my terminal editor of choice, and yes, arrow keys work. But why would you want to use them?

I've been using vim for 15 years so I know neovim.

But ... can you make changes in neovim while it's running?

Let me take it a step further. Imagine a text editor in which you can, while it's running, literally go into its source code and make changes and that those changes immediately take effect. If I'm not mistaken you can do that in emacs. That's what I find intriguing about it, not the text editor.

Re: Making Emacs Popular Again

#444

New employee 1 workflow at company X: 1. Install VS Code 2. Click extensions and install language specific plugin 3. Work New employee 2 workflow at company X: 1. Install emacs 2. Try to install some source code indexing tool 3. Tool is missing 13 dependencies, so spend 4 hours finding, installing and configuring the dependencies. 4. Spend another couple hours reading non-existent to terrible documentation (documenta…

I don't contest that VSCode has achieved better out of the box functionality than emacs but it still needs a lot of configuration. My experience is only with C++ extension where intellisense update just goes on indefinitely. Navigation to a function takes ages. Then I exclude some source directories and restart VSCode. And not to talk of resource hog that it is. When it works it is pretty good and that's why I stick…

The experience varies widely by language. TypeScript support is top-notch. Clojure support used to be bad and then got good. Rust support has been bad for a long time but the nascent rust-analyzer project makes it fantastic. Python support is decent but only if you get an optional, poorly-advertised extension on top of the default one. C# support is quite solid. Etc.

Only a couple of languages get first-party support from MS. The rest depend on their respective communities to build extensions. VSCode has a great plugin architecture, but it's entirely possible to write a bad plugin for it, especially if it's simply not a popular enough editor in that community yet. Still, none of the above required dependency-juggling or stepped on each others' toes. Only a couple cases required a configuration step to get them fully working. My worst VSCode setup experiences haven't wasted as much time as the Emacs golden path did.

Re: Making Emacs Popular Again

#445

Earlier quoted context omitted.

To be clear, by "your editor", I don't mean emacs—I mean the person who works at a publisher: she knows that a gnu is just a wildebeest and inheritance bequeathal of wealth; assumes "C-c ;" is just an obscure emoji; and will not waste her time indulging a writer who uses an obscure [1], roundabout way of entering text into M$ Word. Look, again, you're preaching to the choir—I use emacs every day. But writing a Python…

I understood what you meant. "Open my doc in notepad or any other text editor. Put comments wherever you want; if you'd be so kind as to put them on their own line with a # at the start it would save me some time." Easy peasy. The beauty of org is that it's just a text file. You don't need Emacs to edit it.

And then you have line endings and weird control characters and emoji don’t work in Emacs, etc etc

I too have used Emacs a lot. I’m getting off the boat.

Re: Making Emacs Popular Again

#446

Does it need to be popular or need more users to become maintainers? I use emacs because I can't imagine using anything else that has half the features and is harder to extend. I can't imagine why it needs to be popular. It's a programming environment that happens to have a text editor built in. That appeals to some folks but I can't imagine why someone interested in writing for publication would choose it over Scriv…

I dunno... I think newer editors are often easier to extend than emacs. Think atom or vscode or even sublime. They're all extensible enough such that emacs has no real major advantage IMHO. They can be extended with mainstream languages that many programmers already know, instead of an idiosyncratic lisp with no practical application outside of emacs itself. Emacs still has some great modes (like tramp) - but overall…

I've had to write simple plugins for both SublimeText and VSCode to get the equivalent of a one-liner in Emacs. Comparing anything with Emacs extensibility is not even fair. There are hooks for everything, you can invoke other people packages from your own code, if you want trouble you can overwrite other people's packages specific functions, etc.

Emacs has a lot of flaws though. I don't really recommend people using it. Even after showing the neat stuff, I can do with it.

Re: Making Emacs Popular Again

#447

New employee 1 workflow at company X: 1. Install VS Code 2. Click extensions and install language specific plugin 3. Work New employee 2 workflow at company X: 1. Install emacs 2. Try to install some source code indexing tool 3. Tool is missing 13 dependencies, so spend 4 hours finding, installing and configuring the dependencies. 4. Spend another couple hours reading non-existent to terrible documentation (documenta…

In the long run (now 20 years) the switch from Microsoft products to Emacs was a giant net win for me. Since I am no longer at the mercy of volatile business, but enjoy stability und functionality at its best. The initial investment in configuration and learning had enormous dividends. Don think short term.

Re: Making Emacs Popular Again

#448

New employee 1 workflow at company X: 1. Install VS Code 2. Click extensions and install language specific plugin 3. Work New employee 2 workflow at company X: 1. Install emacs 2. Try to install some source code indexing tool 3. Tool is missing 13 dependencies, so spend 4 hours finding, installing and configuring the dependencies. 4. Spend another couple hours reading non-existent to terrible documentation (documenta…

Better yet, install vscode, then install either the vim or emacs plugin. The best of all worlds!

Eh. Sort of. Like the other person who replied about the Emacs plugin, I find myself running into issues with the Vim plugin -- usually not the keybindings as much as the ex-style commands. For instance, ":20,27m." will move a block of text in Vi/Vim to under the current location; that doesn't work in VSCode Vim. Worse for me personally, I've gotten really used to the ":find" command being the (rough) equivalent of a fuzzy file search: ":find App.php" will find that file no matter where it is in the current project, but again, not a VSCode Vim command.

It's a good emulation, but it's not a great emulation.

Re: Making Emacs Popular Again

#450

New employee 1 workflow at company X: 1. Install VS Code 2. Click extensions and install language specific plugin 3. Work New employee 2 workflow at company X: 1. Install emacs 2. Try to install some source code indexing tool 3. Tool is missing 13 dependencies, so spend 4 hours finding, installing and configuring the dependencies. 4. Spend another couple hours reading non-existent to terrible documentation (documenta…

That, and while emacs has a reputation as being the ur-editor from which all text editing innovation stems, the reality is quite the opposite. It's stagnant and hasn't been the center of text editing innovation for at least the last decade, and probably quite a bit longer before that. It was a particularly bad string of basic package incompatibilities that woke me from my emacs evangelist phase, but it was the realiz…

Have you tried spacemacs?
Post reply on HN