If you’re looking for a modern, efficient terminal-based development setup, let me introduce you to a powerful combination: Helix (a post-modern text editor) and Yazi (a blazingly fast terminal file manager).
Why This Combo?
Helix is a Kakoune-inspired editor with built-in LSP support, multiple cursors, and tree-sitter integration. It’s fast, has sane defaults, and no plugin configuration needed.
Yazi is a terminal file manager written in Rust that’s incredibly fast and intuitive. Think of it as a visual way to navigate your projects before diving into code.
Together, they create a lightweight alternative to heavy IDEs while keeping you productive.
Moving Away from JetBrains
I’ve been reflecting on my development tools lately, and I’m not particularly proud of relying on JetBrains products anymore. Their direction seems increasingly Microsoft-addicted – just look at Rider becoming primarily a .NET IDE focused on game development, while languages like Erlang and other niche but important ecosystems are left out of the scene.
The bloat, the subscription model, and the narrowing focus pushed me to explore lighter, more universal alternatives. That’s how I discovered this setup.
Setup
1. Install Both Tools
# macOS
brew install helix yazi
# Linux (check your distro's package manager)
# Arch
sudo pacman -S helix yazi
# Other distros - check helix-editor.com and yazi-rs.github.io
2. Configure Yazi to Open Files in Helix
Create ~/.config/yazi/yazi.toml:
[opener]
edit = [
{ run = 'hx "$@"', block = true },
]
3. Customize Your Helix Theme (Optional)
Create a custom dark theme at ~/.config/helix/themes/my-theme.toml:
"ui.background" = { bg = "#1e1e1e" }
"ui.text" = { fg = "#d4d4d4" }
"ui.selection" = { bg = "#264f78" }
"ui.cursor" = { fg = "#1e1e1e", bg = "#aeafad" }
"ui.linenr" = { fg = "#858585" }
"ui.linenr.selected" = { fg = "#c6c6c6" }
"comment" = { fg = "#6a9955", modifiers = ["italic"] }
"keyword" = { fg = "#569cd6" }
"function" = { fg = "#dcdcaa" }
"string" = { fg = "#ce9178" }
"variable" = { fg = "#9cdcfe" }
"type" = { fg = "#4ec9b0" }
Then set it in ~/.config/helix/config.toml:
theme = "my-theme"
Workflow
- Navigate with Yazi:
cd ~/your-project
yazi
-
Browse your project structure using arrow keys or
hjkl -
Press Enter on any file to open it in Helix
-
Edit in Helix with LSP support, syntax highlighting, and multiple cursors
-
Save and exit (
Ctrl+s, then:q) to return to Yazi -
Repeat – navigate to next file
Helix Quick Tips
-
Space + f– Fuzzy file finder -
Space + b– Buffer (open files) picker -
Space + /– Global search in project -
mf– Select function,md– select around - Multiple cursors:
Cto add cursor,Alt+Cto remove
Why Not Just Use Helix’s Built-in Picker?
You absolutely can! Helix has excellent fuzzy finding (Space + f). But Yazi gives you:
- Visual tree structure
- Quick file operations (copy, move, rename)
- Image previews
- Directory sizes
- A complementary tool for different tasks
Conclusion
This setup gives you the speed and simplicity of terminal tools with the power of modern editing features. No Electron bloat, no complex plugin configurations – just fast, efficient coding.
Give it a try and let me know what you think!
Resources:
