Comment by bitbasher

Comment by bitbasher a day ago

5 replies

At this rate, why not use vim? Half of the configuration is re-creating vim inside Helix. Not to mention, Helix has many dependencies (you just don't see them the way you do in neovim). I think I could make a case that my vim setup is more supply chain safe than Helix.

My current vim8 setup is very simple and has served me well for 8+ years. I'm currently using vim8 because it's what is available within my LTS distribution.

I only use one automatically loaded plugin (`vim-tmux-navigator` to simplify moving between vim splits and tmux splits, it's a passive plugin). I have reviewed the code for the plugin and I don't update it.

I only use two "optional" plugins (you can enable them using vim's built in package manager with :packadd!). I use `ale` (lsp, diagnostics and automatic formatting on save) and `vim-fugitive` (git workflow inside vim).

Why use ale? Because it works with vim8 and doesn't require any other dependencies like nodejs or python. I have reviewed the code and I'm happy with it. Install it and use it, don't update it without a reason.

Why vim-fugitive? It's a productivity booster. You install it once and forget about it. Tim Pope is the man.

I don't automatically load plugins (besides tmux-navigator) for a few reasons. Most of the time when I'm using vim it's for quick editing where I don't need the heavy tooling (like git integration or an lsp). If I am working on a project with a long term session I will enable git and lsp.

There's no need to automatically run code unless you need it.

wilkystyle 18 hours ago

> I'm currently using vim8 because it's what is available within my LTS distribution.

I have come to love modern Neovim so much that I wrote a simple Python package[0][1] to solve this issue, at least for folks who already have to work within the Python ecosystem and use tools like `uv` or `pipx`.

You can install Neovim 0.11.4 (latest version as of building that package) with `uv tool install binwheels-neovim` or `pipx install binwheels-neovim`, and quickly be up and running with a modern Neovim on Windows, macOS, or Linux.

The package just wraps the official Neovim releases and relies on uv or pipx to select the right binaries for your operating system and architecture. The exception is Linux, where I actually build the binaries from source in a manylinux container[2] because I wanted older GLIBC support than the official Neovim releases are compiled for. Was tired of the official releases not supporting the older Linux systems I often need to work on.

[0] https://pypi.org/project/binwheels-neovim/

[1] https://github.com/wilkystyle/binwheels-neovim

[2] https://github.com/wilkystyle/binwheels-neovim/actions/runs/...

tylerdavis 18 hours ago

The surface area for supply chain attack with Helix is vanishingly small compared to nvim + n extensions. You’re dealing with a single vendor, versus one per extension. Helix also runs a very slow, deliberate release process, so while it’s certainly possible that a supply chain vulnerability could be shipped, the process in place appears to work well to mitigate it.

dpc_01234 a day ago

Helix's editing model is better.

  • bitbasher a day ago

    I've tried for 2-3 months and I had no problems with the editing model. My main issues were with the general UX (text moving around with diagnostics, balloon windows covering your input, etc). That's in addition to my other issues (you need to install it, it's not available everywhere, etc).