Comment by k_bx

Comment by k_bx a day ago

4 replies

I'm very interested in reports of 10+ year users of Emacs, how do Helix/Vim compare? I understand reports from zero-to-Helix/Vim users that they're good, but I don't believe they truly understand how great Emacs is unless they really use it for a long time.

But because Vim-like keys and modes seem to be so much better integrated in all other editors these days (no good Emacs mode in VSCode for example), seems like it won, and it'll soon be time to accept that.

But every time I tried – I never had enough patience to use it until my fingers have the memory, and didn't see the point enough to keep smashing the editor.

So, very interested in reports of actual hardcore Emacs users about the switch.

skydhash 20 hours ago

I'm not a 10+ year user of emacs, and have switched from vim to emacs. But here is my 2 cents if you're willing to take it.

Vim (and variants) is a language for editing first, and an editor second. Most of vim parts from a text editor perspective is found in some way or others in other editors. It's biggest pro is being centered about the vim language of editing. Once you master that, editing is very fast and you can extend the language easily by using external tools. And there's already a good number of integrations through builtin mechanisms and various plugins.

Emacs is a collections of tools for working with textual interfaces. Where Emacs easily wins is how easy it it is to integrate with anything that plays with text, (which is basically everything). The good part is that every plugin (even builtin one) is a software, a library, and a playground at the same time.

landtuna 18 hours ago

I switched to Helix 2 years ago after 28 years of emacs and didn't look back. My emacs config was huge, and I didn't enjoy all the tweaking I was doing to get LSPs to work the way I wanted. I had tried evil mode (and vile before that) without really getting comfortable. I think the Kakoune-style order clicked much better for me than vi descendants. Also, the multiple cursors in Helix work so much better than the equivalent emacs plug-ins. The only thing I really miss is tramp. I liked magit a lot, but jujutsu obsoleted that for me.

wilkystyle 19 hours ago

For me personally, there's probably too much to put in a comment, but the essence of it is:

- Vim modes are prolific, but they always fall short in some annoying way (Jupyterlab-vim plug-in is so bad it's almost not even worth considering Vim emulation). I inevitably find myself missing the full power of true Neovim, especially with the live find/replace in the buffer, `:cdo`, and things like `:g//norm` (which could be an entire tutorial in itself!)

- Emacs: I have never met another editor (or even piece of software) that is not only so customizable but so designed to be customized. It's really hard to capture it in words, but it's such a comprehensive ecosystem of tools that all are designed to work together incredibly well and designed in such a way that when you make your customizations you can do it in a way that everything still plays really nicely together. For example, I can use Tramp to make my local, fully-customized Emacs edit on a remote filesystem as though my local setup is there, any arbitrary number of SSH hops away, even sudo'd to root on the target machine. I can further leverage the built-in /docker: protocol to edit with my local editor, on that remote machine, as root. Eglot plays nicely so my local editor uses remote LSP servers. dired-mode plays nicely so that I can browse and modify the filesystem on the remote target with my local editor. Because everything is nicely integrated together, pressing M-! to run a shell command while editing a remote buffer will run the shell command on the remote target in the same directory as that remote buffer. Similarly, M-x shell opens a terminal window on the remote target, in the same directory as the remote file I'm editing, as whatever user I have sudo'd to (if applicable). And it does everything with pure SSH, no remote daemon needed. And then there is the customization. Vim/Neovim score very well on the customization front, but I guess the way I would put it is that the difference in philosophy is that Vim/Neovim (and most other customizable software) are applications for which the developers give you a ton of APIs to affect the behavior of an otherwise closed system. With Emacs, by contrast, nearly all of the system is open. There are compiled C functions at the core, but anything in lisp is there for inspecting and modifying in real time while the system is running. And for all the things that are compiled that you cannot affect, there are further paradigms such as the advice system, which allows you to modify built-in behavior by wrapping existing functionality with things like pre- or post- actions (among other things too numerous to get into in a comment). emacs is built with the philosophy that there should never be an area of the software that you don't fully own, control, and have the ability to inspect and understand.

I guess this turned into a classic Emacs-nerd rant about why Emacs is great, but to answer your question the long way:

There's no Vim like (Neo)vim, and if you are an advanced enough (Neo)vim user, everything else falls short in ways that suck.

And there is simply no software I have ever come across like Emacs. It takes a lot of work to make it your own, and I totally get that is not for everyone. But if it is for you, everything else is too limiting.

(maybe to answer your actual question, I've never successfully made the switch. I always come back.)

  • k_bx 13 hours ago

    Thank you for the detailed report!

    Anothing thing from my recent (couple years) discoveries is that emacs is actually pretty good out of the box, so on my servers/containers I just started doing `sudo apt-get install --no-recommends emacs-nox` and use that. The only annoying default is the need to disable the "backup files".