Tutorial: Helix for Vim users (helix-vim pairing)
- Dominant language
- TypeScript
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Add a new tutorial pairing: **Learn Helix if you know Vim**.
## Motivation
Helix is a post-modern modal text editor built in Rust. It takes Vim's modal editing but fundamentally changes the interaction model: selection-first (Kakoune-style) instead of cursor-first. Tree-sitter and LSP are first-class, no plugin configuration needed.
**Why this works:**
- Familiar modal editing foundation
- Paradigm shift: cursor-first → selection-first
- Rust ecosystem alignment
- "Batteries included" philosophy (no plugin hell)
## Proposed Structure (~12 steps, ~50 min)
| Step | Concept | Vim → Helix |
|------|---------|-------------|
| 1 | Install Helix | `brew install helix` or `cargo install helix-term` |
| 2 | Modal basics | `i`, `Esc`, `:q` — familiar ground |
| 3 | **Selection-first editing** | `wd` selects word then deletes (vs `dw` deletes word) |
| 4 | **Multi-cursor built-in** | `s` to select, `C` to split selection on matches |
| 5 | Tree-sitter motions | `mf` (function), `mc` (class) — semantic navigation |
| 6 | LSP integration | `space-a` (code actions), `space-r` (rename) — no config needed |
| 7 | **No plugin configuration** | Everything built-in: fuzzy finder, file picker, git blame |
| 8 | Surround made easy | `ms(` to add surround, `mr(` to replace — consistent syntax |
| 9 | Registers and yank history | `space-y` for yank picker |
| 10 | Jump list navigation | `C-o`, `C-i` — familiar, but with preview |
| 11 | Configuring Helix | `~/.config/helix/config.toml` — minimal, declarative |
| 12 | When to use Helix vs Vim/Neovim | Philosophy differences, trade-offs |
## Key Comparison Points
| Vim concept | Helix equivalent | Paradigm difference |
|-------------|------------------|---------------------|
| `dw` (delete word) | `wd` (select word, then delete) | Selection precedes action |
| `ciw` (change inner word) | `vic` (select inner word, then change) | Composable, not memorized |
| `/pattern` + `n` + `cw` | `/pattern` + `s` + `c` | Select all matches, change simultaneously |
| Plugins for LSP, fuzzy find | Built-in | Convention over configuration |
| `vimrc` with 500 lines | ~20 line `config.toml` | Sensible defaults |
| Macro recording | Same (`q`) + select-repeat | Works with multi-cursor |
## Pedagogical Notes
**The "aha" moment:** Making a change across multiple matches with `s` (split selection) + `c` (change) — no regex substitution needed, visual and immediate.
**The paradigm shift:** Vim is "verb then object" (`delete word`). Helix is "object then verb" (`word delete`). More consistent, easier to learn, enables multi-cursor naturally.
**Key insight:** Helix trades customizability for out-of-box productivity. If you've spent weeks configuring Neovim, Helix feels limiting. If you want to start coding immediately, Helix is liberating.
## Resources
- https://helix-editor.com/
- https://docs.helix-editor.com/
- https://github.com/helix-editor/helix
- Kakoune editor (Helix's spiritual predecessor): https://kakoune.org/
## Category
`Editors`
## Notability
- Post-neovim editor discussion
- Rust ecosystem darling
- Selection-first editing paradigm (Kakoune-style)
- "Zero config" philosophy appeals to users tired of plugin management
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.