I have been a user of emacs for more than a decade. I am not a pro, but my config has swollen little by little. What really got me into emacs was the interaction with the python repl. It was amazing. Only Jupyter notebooks did something similar for me. Lately I have been using VScode, as the notebook experience for data science is very good and emacs cannot really compete here as notebooks are web based since the beggining, and vscode is an electron app. Packages like ein was just an ok replacement. Also I have been using logseq instead of org-mode, as the android app is very good and allow me to add stuff from the camera and using the pen with the whiteboard. I am mainly using org-mode to define large project files and leaving logseq for note taking.

The later but the hype with neovim and in much smaller scale with helix got me interest, as I have been using less emacs lately. So I decided to try them. And for the first time I feel I was in the presence of real competitors. Emacs has always been about text editing + poweful ide like tools added using plugins made by the community using a scripting language, in emacs case elisp. I liked VSCode despite the bloat because it was similar in spirit, a editor that can customize and make tools for using a scripting language, javascript. I never like vi/vim. Modal typing is nice for using command without modifier keys. But you could only use those commands on vi /vim, so I did not see the point in learning a typing system for some type saving. I always laugh with the emacs pinky meme, when in practice most vim users used screen and tmux and use ctrl all the time. And alt+tab for geeting to the browser. Plugins were not really enough for my coding and they were awful in comparison with the emacs ecosystem. And you can get evil mode in emacs. But neovim is a different beast. The change from the old vimscript to Lua and how the community embraced the change turn it into an editor very close to emacs. I installed the lazyvim distro, and my experience was very similar to doom emacs. Actually I found a bit better to update all the packages installed by default. And the interaction python was also closer to emacs thanks to iron.nvim. I could installed in a remote machine that I have issue installing a new version of emacs due to lack of permissions. So very nice experience.

Helix is a monolitic editor that comes with “battery include”, and it doesn’t have a plugin system yet (although the devs might add a scheme like scripting in the future). But the editor is much more feature complete than neovim without plugins. It lacks a repl interaction, so I cannot really use but it looks nice and might have a interesting future.

My conclusion is that editors of all kinds are becoming more and more like emacs, a core with a plugin system. Emacs is a very tiny core and the rest is elisp so you can change everything, but most people never get close to try to do that. Neovim+Lua is a good example that a you don’t need so much flexibilty and you don’t even need a powerful scripting language. Lua point is to be simple enough without losing too much power. Vscode+JS is a similar story. We are witnessing carcinisation for editors.

  • Falcomomo@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    I have a similar experience to you, a lot of what you wrote really resonated with me.

    I have used Emacs for almost 10 years, and really used it for everything text based and all programming tasks. I spent a while getting my config how I like it, based on the magnars config (of emacs rocks fame). I tried some of the distros like spacemacs and doom but ultimately came back to the magnars set up because I understood it and it just rocked.

    Since the introduction and growth of lsp though I really found emacs struggling, particularly on Windows (I have to use it at work). The speed is just frustrating at times, where you constantly have speed hiccups whilst waiting for it to catch up with you.

    I decided to give the vim binds a go because they were highly recommended by a few youtubers and also because it’s more common to find them integrated into other programs like Obsidian etc etc. Now I really like the vim motions, and decided to give neovim a go.

    The first thing I noticed with Neovim was the speed, it really does feel like night and day vs emacs. The editor is so snappy and editing code feels a lot faster. I still do miss a lot of the functionality I just get from emacs though, I always feel like there is an M-x butterfly for every situation and I always know I can find something by just searching the commands. In that respect neovim feels a lot more bare bones in comparison, and I do find myself having to do things in the vim way whilst using it - the multiple-cursors way of working in emacs has become the way I think about editing code, it’s really hard to move away from. In vim it seems that people don’t use multiple cursors, instead they use sort of regex and greppy replacements.

    Anyway, stream of conciousness above, the tldr is that I agree, and it feels like the vim/neovim/helix guys are just starting to discover organically the emacs way.

    • MagosTychoides@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 months ago

      LSP changed the game. For me in python I used to use jupyter notebooks and elpy to get a similar experience to what I now get with a LSP, but LSP gives you more. Everyone is catching to LSPs. You can say the VSCode is a electron hog, but LSP was an amazing development, and you have to thank Microsoft (yikes) for that.

      • Falcomomo@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 months ago

        VS Code is a great editor. I mean, it’s not my first choice because it really does run slowly at times, and the keybinds are a mess (you have to set so many flipping keybinds to get up & down working on K, J or C-n, C-P in every place of the gui). However, on the whole it’s great, so much just works out of the box and it’s pushed LSP to the forefront of development.