• folkrav@lemmy.ca
    link
    fedilink
    arrow-up
    13
    ·
    edit-2
    9 months ago

    I’m surprised the author is both a long-time vim user and defends the idea that everything being built in to the editor and config being purely declarative as positives. In my mind, vim being as slim or bulky as I want it to is a strength, not a weakness, and its config being a full language (especially since neovim/lua) is a superpower. I’ve yet to have my config just randomly break in almost a decade of tweaking it from vim to neovim, across multiple distros and package managers, for what it’s worth.

    Helix does look pretty intersting though, but man does the idea of relearning everything after how long it took me to build that vim muscle memory sound very daunting. vim bindings being available almost everywhere, including other editors, some websites and third party apps, and my browser as an extension, is also a big part of why I hesitate to even give it a try…

    • mac@infosec.pubOP
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      9 months ago

      Yeah I agree NeoVim being extensible is wonderful, and I believe Helix has the goal of adding a plugin system. It’s also super lightweight while including a lot of these core features we see repeated in nearly every NeoVim setup, the kind of thing like LSP & Tree Sitter which shows up so often it begs the question: Should this be built into the editor.

      I am also terrified of relearning all the minds after years of vim use, although a lot of the base bindings are the same or similar. I guess if I could relearn the system keyboard shortcuts when I switched OS I can do the same here.

      • folkrav@lemmy.ca
        link
        fedilink
        arrow-up
        5
        ·
        9 months ago

        Yeah, I won’t pretend like Neovim is perfect at all either. I do agree that setting up LSP & TreeSitter is needlessly convoluted as is. lspconfig+mason.nvim+mason-lspconfig+null-ls.nvim just to get a couple linters/formatters and decent completion… I’d love it if I could just open a file, and… it just… worked, you know.

        • mac@infosec.pubOP
          link
          fedilink
          arrow-up
          1
          ·
          9 months ago

          Yeah I’m guessing that’s Helix’s approach. Maybe the bind relearning is worth it or maybe it inspires NeoVim or other Vim-like editors to come with more of the consistently repeated stuff enabled by default.

    • Celediel@slrpnk.net
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      9 months ago

      You can configure Helix to behave a lot more like vim quite easily, beyond the default keybinds which are already quite similar. You can even revert to vim-style normal/visual modes, rather than Helix’s “select by moving approach” if you really can’t stand that.

      After being a vim then neovim user for many years, I fully made the switch to Helix, using some options from the config I linked, and there are only a few minor things I miss.

    • state_electrician@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 months ago

      I think Helix is nice for people who are starting out with an editor. I’m not using vim because I can configure the hell out and turn it into a full-blown IDE. vim isn’t my main editor. I am using vim keybindings because they are supported widely and that means I don’t have to remember any specifics of the actual editor I am using. For me, there is zero incentive to switch to Helix.

    • ScreaminOctopus@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      He was the writer of This Week in Neovim for a while. I think he might have been adding tons of plugins to his setup and not all of them were well maintained or behaved. I’ve been quick to drop plugins that break more than once or twice, and I’ve never really had issues with stuff breaking update to update. Plus with Lazy’s commit locking for plugins it’s easy to restore your config to a working state.