Helix
Extracto
A post-modern modal text editor.
Resumen
Resumen Principal
Helix se presenta como un editor de texto "post-moderno" y de alto rendimiento, desarrollado en Rust y optimizado para el entorno de terminal, marcando una evolución significativa en el paradigma de la edición de código. Su filosofía central se cimienta en las múltiples selecciones y cursores como una primitiva de edición fundamental, inspirada en Kakoune, lo que facilita la manipulación concurrente de código y mejora sustancialmente la eficiencia. Una característica distintiva es la integración profunda de Tree-sitter, que proporciona árboles de sintaxis robustos y tolerantes a errores, elevando la calidad del resaltado, la precisión del indentado y la capacidad de navegación al permitir la selección directa de nodos del árbol de sintaxis, en lugar de solo texto plano. Además, Helix incorpora soporte nativo para Language Server Protocol (LSP), ofreciendo características de IDE como autocompletado y diagnósticos sin necesidad de configuraciones adicionales. Este enfoque reduce la complejidad inicial y proporciona una experiencia de desarrollo rica en características, destacándose por una base de código compacta y defaults modernos que lo hacen accesible tanto para principiantes como para usuarios avanzados, posicionándolo como una alternativa potente y eficiente.
Elementos Clave
-
Modelo de Edición Basado en Selecciones y Cursors Múltiples: Helix adopta un paradigma de edición innovador, donde las múltiples selecciones y cursores son la primitiva central de edición, inspirada en Kakoune. Este enfoque permite a los usuarios aplicar comandos a varias selecciones de texto simultáneamente, facilitando la edición concurrente y potenciando la productividad al simplificar tareas que tradicionalmente requerirían más pasos.
-
**Integración Avan
Contenido
A post-modern text editor.
Multiple selections
Multiple cursors as a core editing primitive, inspired by Kakoune. Commands manipulate selections which allows concurrent code editing.
Tree-sitter integration
Tree-sitter produces error tolerant and robust syntax trees, which enables better syntax highlighting, indent calculation and code navigation.
Powerful code manipulation
Navigate and select functions, classes, comments, etc and select syntax tree nodes instead of plain text.
Language server support
Language specific auto completion, goto definition, documentation, diagnostics and other IDE features with no additional configuration.
Built in Rust, for the terminal
No Electron. No VimScript. No JavaScript. Use it over ssh, tmux, or a plain terminal. Your laptop battery life will thank you.
Modern builtin features
Fuzzy finder to jump to files and symbols, project wide search, beautiful themes, auto closing bracket pairs, surround integration and more.
Frequent questions
Post-modern?!
It's a joke. If Neovim is the modern Vim, then Helix is post-modern.
Is it any good?
Yes.Are there plans for a GUI frontend?
Eventually, yes! We'd like to prototype a WebGPU-based alternative frontend. See the discussion on GitHub.
What about plugins?
While there is currently no plugin system available, we do intend to eventually have one. But this will take some time (more discussion here).
How does it differ from Kakoune?
Mainly by having more things built-in. Kakoune is composable by design, relying on external tooling to manage splits and provide language server support. Helix instead chooses to integrate more. We also use tree-sitter for highlighting and code analysis.
How does it differ from Vim?
By starting from scratch we were able to learn from our experience with Vim and make some breaking changes. The result is a much smaller codebase and a modern set of defaults. It's easier to get started if you've never used a modal editor before, and there's much less fiddling with config files.
Support
Contribute code on GitHub.
Discuss the project on Matrix.
Sponsor development on OpenCollective.