Live data from Hacker News

Emacs 29 is nigh

blog.phundrak.com

111–120 of 267 posts

Re: Emacs 29 is nigh

#111
post #78

Earlier quoted context omitted.

I don't know why you are being downvoted - I agree. I do just that. Last paragraph though I do not agree with at all.

Before tools like VScode existed Emacs was infinitely beyond other options, now it’s just really really really far ahead.

I'll bite. How did vscode raise the bar from every other editor/ide ever?

Re: Emacs 29 is nigh

#112

Earlier quoted context omitted.

System Crafters youtube channel driving me towards Emacs I really don't get how watching a PM-type struggle with emacs for two hours at a spell is compelling or instructive. I can struggle with emacs all by myself.

> I really don't get how watching a PM-type struggle with emacs for two hours at a spell is compelling or instructive. I can struggle with emacs all by myself. Because it's a lot scarier to struggle alone. Plus as his videos progress and his knowledge progresses he frequently teaches you things that come up and practice a lot as a matter of course. It's kind of like when you start programming you have to build up you…

you convince yourself it won't be like this one day

In case you're considering a career in software, no, the feeling of groping around in the dark never disappears.

Re: Emacs 29 is nigh

#113
post #61

The language support is great with Emacs 29. Hope it work well with LSP modes/servers. On a tangent anyone knows a good LSP setup or LSP server for Javascript?

I use web-mode + typescript-language-server for React+TSX. Whether or not you choose to use eglot or lsp-mode, I'd still recommend following the lsp-mode performance guide: https://emacs-lsp.github.io/lsp-mode/page/performance/ . Those tips are useful for all setups. (use-package web-mode :ensure t :mode (("\\.ts\\'" . web-mode) ("\\.js\\'" . web-mode) ("\\.mjs\\'" . web-mode) ("\\.tsx\\'" . web-mode) ("\\.jsx\\'" .…

I see. Use a Typescript LSP server. Thanks.

Re: Emacs 29 is nigh

#114
post #93

Earlier quoted context omitted.

Emacs was a great editor just like Nirvana was a great band. It’s influenced every other editor after it. People are always going to love it. But I think all the best ideas from that era have been taken. I like Vim but EMacs won the editor wars

I guess you can make the same statements about vim, given that there's a vim mode in most popular IDEs.

But as an addon. No one stole modal editing and the quirky key bindings as a core feature.

The real split was whether people wanted an editor to work like an IDE or not. Everyone did. Even Vim.

I think it makes more sense they are there for those of us who know Vim but one day we’ll all die out

Re: Emacs 29 is nigh

#115
post #63

I really want to use Emacs but I can't get Company + any LSP to come close to vs code or coc.nvim. When I configure company to trigger instantly on a single keystroke, Emacs completely locks up pretty much every time I hit a key.

> When I configure company to trigger instantly on a single keystroke, Emacs completely locks up pretty much every time I hit a key.

Emacs using an elisp JSON parser is about 15x slower (!) than using a native JSON parsing lib. It's borderline criminal (just kidding): I think LSP should simply test if native JSON parsing is avail and refuse to run if it isn't.

I'm using LSP-mode and it flies (AMD 3700X / 32 GB of RAM / Emacs native compilation branch / native JSON parsing).

Apparently LSP-bridge is even faster so I may try it but if "Emacs completely locks up" when you hit a key due to lsp-mode, there's an issue (and a solution).

Re: Emacs 29 is nigh

#116
post #63

I really want to use Emacs but I can't get Company + any LSP to come close to vs code or coc.nvim. When I configure company to trigger instantly on a single keystroke, Emacs completely locks up pretty much every time I hit a key.

In my experience it depends a bit on the LSP server itself (as well as it just being horribly slow in Emacs 27 and older). Omnisharp is for instance way slower than clangd and rust-analyzer. Also helps to make sure all the various mingw dependencies are there if you use Windows (json and native compile in particular). If you used LSP-mode it would be worth checking out if you can disable some of the information it renders to improve performance in general.

Other than that, Company can be a bit slow compared to Corfu, which is a bit more lightweight completion framework, built more around the emacs internals.

Re: Emacs 29 is nigh

#117
post #71

Earlier quoted context omitted.

I do think that keyboard optimized workflows are not for everyone; you should use what works best for you! However, Emacs distributions like Doom Emacs or Spacemacs are definitely more approachable and featured OOTB than vanilla Emacs. For me, the benefit of Emacs is that it's a single environment I can do everything in. I also am the type to enjoy messing with my workflow. IMO most of that can be replicated with VS…

> VS Code remote editing blows TRAMP out of the water I’ll have to try VSCode in this area, but Tramp seems pretty awesome to me so I’m trying to think how it could be blown out of the water.

In the "just works" department mainly, especially in regards to other packages playing nice with tramp.

Re: Emacs 29 is nigh

#118
post #71
post #50

Watching the Emacs community, I’m always just blown away by the love and adoration it gets. It’s clear to me that there’s something magical in it, but I can’t seem to tap that magic for myself. I’ve tried - really tried, including relearning lisp - to adopt Emacs roughly four times over my career; it never stuck. I understand the basic benefits, eg keyboard-optimized workflows, deep customization/malleability, etc. B…

I do think that keyboard optimized workflows are not for everyone; you should use what works best for you! However, Emacs distributions like Doom Emacs or Spacemacs are definitely more approachable and featured OOTB than vanilla Emacs. For me, the benefit of Emacs is that it's a single environment I can do everything in. I also am the type to enjoy messing with my workflow. IMO most of that can be replicated with VS…

> VS Code remote editing blows TRAMP out of the water

I think it is not that black & white. Recently I've used tramp to dial into a server via SSH and there into a docker container and directly edit files inside. I don't think VSCode can do the same inside a shell it starts. Sure it may be able to open an SSH shell and then from there you might be able to type in some docker exec command. But that is not the same as tramp into docker container on a remote host via SSH for the following reasons:

When I use keyboard shortcuts from inside that tramp shell, Emacs understands, that it happens inside the tramp context and for example will only show me files inside that docker container, when I do a find-file. Should I decide to run an rgrep from that context, it will show me results in that context. If I click the findings of that rgrep, it will probably open the findings, which are on the remote host inside the docker container. If I open dired from the tramp context, I will see files from that context, not files on my own machine. Context is the magic here.

This level of integration is missing from VSCode. VSCode replicates part of these things, but things are not integrated. Want to ssh into a server? OK can do. Want to open files? OK here are your files from your own machine. It does not understand, that it should use the generic action of showing available files in the context of the opened SSH session. This might be a consequence of things being less coupled with keyboard workflow. When I use a mouse to click some menu items, it is not clear to VSCode in which opened tab/buffer that action should be performed. When I press a keyboard shortcut in Emacs, there will be a buffer (or mini buffer, or whatever) which has the focus and does not have to lose the focus, because I am not using the mouse to click outside of it. Things which are taken for granted in Emacs (all that integration and generic actions, which work anywhere) do not seem to exist in VSCode. Maybe most people are not even aware of how generic actions like opening a file could be integrated, because they have never seen it like it is in Emacs.

On the other hand, VSCode might have a more fluent experience for when you do not want to do anything more complex than SSH into a server and might be speedier at those simpler workflows. There are probably well paid engineers at MS, who try to make things run smoothly when the shell is an SSH session on a remote server. I have not benchmarked this. Just a guess.

Re: Emacs 29 is nigh

#119
post #82
post #77

Earlier quoted context omitted.

For me it was org-mode. Emacs is basically my org mode interface.

I've used emacs for ~15 years now and never really get into org-mode, I have a directory of org files that I use for writing and keeping some kind of personal wiki but it's just a bunch of org files. I never successfully build a workflow around it. I see that I'm missing something but I don't know where to start. Org-roam seems interesting. Do you have any recommendation for how to use org-mode productively?

Maybe you don't need an org workflow. "Just a bunch of org files" is a totally fine way to use it. It's what I do too with some custom keybindings and bookmarks. I looked at some of the fancier stuff but they are not for me.

Re: Emacs 29 is nigh

#120
post #50

Watching the Emacs community, I’m always just blown away by the love and adoration it gets. It’s clear to me that there’s something magical in it, but I can’t seem to tap that magic for myself. I’ve tried - really tried, including relearning lisp - to adopt Emacs roughly four times over my career; it never stuck. I understand the basic benefits, eg keyboard-optimized workflows, deep customization/malleability, etc. B…

Emacs was a great editor just like Nirvana was a great band. It’s influenced every other editor after it. People are always going to love it. But I think all the best ideas from that era have been taken. I like Vim but EMacs won the editor wars

> Emacs was a great editor just like Nirvana was a great band. It’s influenced every other editor after it.

Eh.. Which every other editor would that be?

There is a mode [0] you can enable just because of how different it is to every other popular editor ever. Still.

0: https://www.emacswiki.org/emacs/CuaMode

Post reply on HN