Live data from Hacker News

Emacs is the 2D Command-line Interface

hongchao.me

161–170 of 180 posts

Re: Emacs is the 2D Command-line Interface

#161

Earlier quoted context omitted.

Don't get me wrong, a lot of these problems aren't really Emacs's fault. Jetbrains puts a lot of money and effort into its IDEs. If some commercial or nonprofit entity was actually committed to developing and maintaining elisp packages providing superb language support, then Emacs would have it. Maybe language support will get better with LSP; anyone know how that is going in the emacs world?

I use lsp for python and c++. It's usually good, but lsp will sometimes have the clang seever crash repeatedly, which can usually only be fixed by restarting emacs. I do debugging with gdb, which is rather nice actually (you can easily set breakpoints and it will show the pointer walking through all the files), but even there there are some rough edges (the in/output buffer will show up on all frames for example, and…

If Clang server crashes, surely that means some bug in it was triggered? lsp-mode only converses with it over JSON, after all.

Clang's developers might appreciate the corresponding bug reports.

Re: Emacs is the 2D Command-line Interface

#162

Earlier quoted context omitted.

I'm in the same position. I've used Emacs intensively for 20 years and I'm the author of Emacs packages that other people use. Nowadays I work on Python, Rust, and Typescript/$JSFramework projects. Here are some of the requirememts: - Completions need to take the type system into account (even in Python), etc. - Emacs has to provide intelligent completions, linting, type-checking, compiler error annotations, type inf…

To the four bullet points you mention, I'll add a meta-point: this all needs to be easy to set up simultaneously , per language. That's where commercial IDEs and editors shine - you get all these things properly set up out of the box. In Emacs, I ordinarily have to wire half a dozen components to get this to work, and a different language may use different components. LSP is a great step forward here, in that most of…

It's definitely possible in principle with LSP in Emacs I think at the very least if I'm going to put time in the future into getting this working well in Emacs then it makes sense to take a break and see what the cutting edge is like in a mainstream thing like VS Code, so I know what we're really aiming for in Emacs.

Re: Emacs is the 2D Command-line Interface

#163

Earlier quoted context omitted.

I'm in the same position. I've used Emacs intensively for 20 years and I'm the author of Emacs packages that other people use. Nowadays I work on Python, Rust, and Typescript/$JSFramework projects. Here are some of the requirememts: - Completions need to take the type system into account (even in Python), etc. - Emacs has to provide intelligent completions, linting, type-checking, compiler error annotations, type inf…

Is Eglot the go-to for LSP in Emacs these days?

I think the answer is no there's heathy competition between Eglot and lsp-mode. I'm not aware of others yet personally.

Re: Emacs is the 2D Command-line Interface

#164

Sometimes I think people trick themselves into thinking that all their fiddling with Emacs counts as part of their productivity. Don't hate on me. I use Emacs just about every day. I used to use Emacs as my go to editor for writing code ... and it almost worked. But it was never hassle free, and things often worked more poorly than I would have liked, or ended up requiring too much fiddling to get it to work right, o…

I'm in the same position. I've used Emacs intensively for 20 years and I'm the author of Emacs packages that other people use. Nowadays I work on Python, Rust, and Typescript/$JSFramework projects. Here are some of the requirememts: - Completions need to take the type system into account (even in Python), etc. - Emacs has to provide intelligent completions, linting, type-checking, compiler error annotations, type inf…

> it has a complicated relationship to other core Emacs modules such as eldoc and flycheck/flymake (who can remember which is which)

It, uh, depends on the 1st and the 3rd of the mentioned packages.

> it threatens to become part of Emacs which means that its development will no longer be done openly with PRs but in an old-school mailing list with a lot of bickering

Joao has been saying that for a while, but seems like he has noticed after all that only a tiny percentage of the users get around to reporting bugs to Debbugs. Hopefully, that idea is dead now, or at least very much dormant.

On the other end, lsp-mode has been making strides in becoming more stable and polished, and making bells-and-whistles easy to turn off. So maybe try it again too.

Re: Emacs is the 2D Command-line Interface

#165

Earlier quoted context omitted.

Is Eglot the go-to for LSP in Emacs these days?

I think the answer is no there's heathy competition between Eglot and lsp-mode. I'm not aware of others yet personally.

Thanks.

Re: Emacs is the 2D Command-line Interface

#166

Earlier quoted context omitted.

vi and emacs were released in the same year. The fact that vi iMproved became the dominant implementation isn't particularly relevant here.

> The fact that vi iMproved became the dominant implementation isn't particularly relevant here. I think it is. Most vim users I know have never used vi and would hate it. As a reminder: In vi, when you go into "insert" mode, you cannot edit anything prior to where the cursor was when you entered insert mode. vim got rid of such annoyances.

The topic of discussion was:

> If emacs adopted vim-like keybindings early on

I consider it obvious that "vim-like" keybindings are also "vi-like" keybindings, and that emacs could in fact have adopted them before the invention of vim.

It wouldn't have of course; when the Editor Wars were truly raging, the modal vs. modeless debate was at the heart of the partisanship. But that's a separate question.

Re: Emacs is the 2D Command-line Interface

#167
post #66
post #6

I love Emacs, but I think it’s safe to say that it’s a lot harder to use than Visual Studio Code, which is vastly more popular. I think what made VSCode popular was the availability of many high-quality extensions for major languages. Unfortunately, my experience with Elisp packages is that they tend to be much less stable. This is changing some with LSP mode, of course, but I think the Emacs community would do well…

> I love Emacs, but I think it’s safe to say that it’s a lot harder to use than Visual Studio Code Emacs discussions on HN are always unsatisfying, because everyone seems to want to compare it with IDEs or other programming editors. Only a small portion of the article is about SW development. The fraction of Emacs users who use it primarily for things other than programming is a lot bigger than most HN readers think…

I use Emacs primarily for things other than editing and navigating code:

I maintain many files of notes;

I rename files and view directory listings (using Dired);

I pass command lines to Bash to be run. (End of list.)

More to the point, whereas vscode would prove a mostly satisfactory replacement for Emacs for editing and navigating code, it is unlikely I will find a mostly satisfactory replacement for Emacs for the tasks listed above. (And I have been looking: I evaluated for example the most likely of the recent spate of vscode extensions for maintaining notes in markdown files.)

(I don't like keyboard-only UIs; like 68.1% of the Emacs users who responded to a recent survey [1] I never use a terminal or terminal emulator to interact with my Emacs.)

I guess I should explain why a terminal app such a Gnome Terminal would not be a mostly satisfactory replacement for Emacs for submitting command lines to Bash. Like at least one other participant [2] in this comment section, I appreciate being able to use the same set of operations on the output of the Bash process as I use on any other file being edited (without my first needing to copy the output from my terminal app, then paste it into my editor). I also appreciate the fact that the Emacs Lisp code that runs when I send a line of code to Bash is vastly easier to modify than Gnome Terminal would be.

[1] https://emacssurvey.org/2020/

[2] "I really like being able to move about the terminal field as if it were a text file" in https://news.ycombinator.com/user?id=jonnycomputer

Re: Emacs is the 2D Command-line Interface

#168

Earlier quoted context omitted.

Everything except magit. magit is life magit is love.

Magit was the emacs killer app for me. I'm now slowly learning other parts of emacs, such as org-mode.

I was in college around the svn days, then git came then IDEs tried to integrate.. at best you had cute crud. First use of magit was a shocker. It's so good it makes you usage better.. crafting thin coherent commits in 2 seconds.

Out of curiosity and objectivity I tried Eclipse / IDEA git integration (a few years ago tbf).. they were still complex and distracting.

I'm not fond of org-mode it's too large imo but maybe it will fit your brain and you'll have a blast. Best feature to me is the source block (~tiny adhoc notebook).

Re: Emacs is the 2D Command-line Interface

#169

Earlier quoted context omitted.

Everything except magit. magit is life magit is love.

its funny, I still haven't tried. I almost always use git on the command line

To each his own, but magit is the most transparent git UI I ever ran into. it's hard to describe.

Re: Emacs is the 2D Command-line Interface

#170

Sometimes I think people trick themselves into thinking that all their fiddling with Emacs counts as part of their productivity. Don't hate on me. I use Emacs just about every day. I used to use Emacs as my go to editor for writing code ... and it almost worked. But it was never hassle free, and things often worked more poorly than I would have liked, or ended up requiring too much fiddling to get it to work right, o…

I'm in the same position. I've used Emacs intensively for 20 years and I'm the author of Emacs packages that other people use. Nowadays I work on Python, Rust, and Typescript/$JSFramework projects. Here are some of the requirememts: - Completions need to take the type system into account (even in Python), etc. - Emacs has to provide intelligent completions, linting, type-checking, compiler error annotations, type inf…

[deleted]
Post reply on HN