Comment by bitbasher
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.
> 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/...