# helix-editor/helix

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/helix-editor-helix).**

43,034 stars · 3,319 forks · Rust · mpl-2.0

## Links

- GitHub: https://github.com/helix-editor/helix
- Homepage: https://helix-editor.com
- awesome-repositories: https://awesome-repositories.com/repository/helix-editor-helix.md

## Topics

`kakoune` `rust` `text-editor` `vim`

## Description

Helix is a terminal-based modal text editor designed for efficient code manipulation and navigation. It centers on a selection-first editing model, where operations are performed on active ranges rather than individual cursor positions, allowing for precise control over text and code structures.

The editor distinguishes itself through deep integration with structural parsing and language intelligence. By utilizing an incremental parsing library, it builds concrete syntax trees that enable advanced features like structural code navigation, intelligent indentation, and syntax-aware text object selection. It also features a built-in client for the Language Server Protocol, providing real-time diagnostics, completion, and code analysis directly within the terminal interface.

Beyond its core editing capabilities, the project offers a highly customizable environment. Users can define complex keybindings, manage multiple cursors for simultaneous edits, and apply declarative styling rules to customize the visual appearance of the interface. The editor also includes robust support for file discovery, buffer management, and interactive fuzzy-matched picking for symbols and commands.

The editor includes a built-in diagnostic utility to verify the runtime environment and dependency configuration during setup.

## Tags

### Development Tools & Productivity

- [Modal Text Editors](https://awesome-repositories.com/f/development-tools-productivity/modal-text-editors.md) — A terminal-based text editing environment that uses distinct modes for navigation, selection, and text manipulation to increase developer efficiency.
- [Editor Configurations](https://awesome-repositories.com/f/development-tools-productivity/editor-configurations.md) — Helix provides comprehensive configuration for core editing behaviors including scrolling, mouse interaction, command registers, shell execution, and cursor appearance. ([source](https://docs.helix-editor.com/editor.html))
- [Language Server Clients](https://awesome-repositories.com/f/development-tools-productivity/language-server-clients.md) — Helix manages communication with language servers to provide real-time feedback, including progress updates, inlay hints, signature help, and automated code completion. ([source](https://docs.helix-editor.com/editor.html))
- [Modal Command Interfaces](https://awesome-repositories.com/f/development-tools-productivity/modal-command-interfaces.md) — Helix provides modal commands for moving through the document, character replacement, case switching, and selection management. ([source](https://docs.helix-editor.com/keymap.html))
- [Modal Editing Environments](https://awesome-repositories.com/f/development-tools-productivity/modal-editing-environments.md) — Optimizing code entry and navigation through keyboard-driven commands that separate movement from text insertion for increased efficiency.
- [Modal Editing Interfaces](https://awesome-repositories.com/f/development-tools-productivity/modal-editing-interfaces.md) — Implements a primary-selection model where all text operations are performed on active ranges rather than cursor-based insertion points.
- [Selection-Based Command Execution](https://awesome-repositories.com/f/development-tools-productivity/selection-based-command-execution.md) — Helix enables text operations by allowing users to select a range of content first and then apply a command to that specific selection. ([source](https://docs.helix-editor.com/usage.html))
- [Terminal Text Editors](https://awesome-repositories.com/f/development-tools-productivity/terminal-text-editors.md) — Building a highly customizable and performant coding environment that runs entirely within the terminal for streamlined remote or local workflows.
- [Terminal User Interfaces](https://awesome-repositories.com/f/development-tools-productivity/terminal-user-interfaces.md) — A keyboard-driven application interface designed to run within terminal emulators while providing advanced visual feedback and layout management.
- [Text Editing Modes](https://awesome-repositories.com/f/development-tools-productivity/text-editing-modes.md) — Helix supports text entry and basic modifications with full undo history and register usage during standard modal text entry. ([source](https://docs.helix-editor.com/keymap.html))
- [Modal Editing Systems](https://awesome-repositories.com/f/development-tools-productivity/modal-editing-systems.md) — Helix allows users to change between modal states to perform specific tasks like typing text, navigating the document, or manipulating selections. ([source](https://docs.helix-editor.com/usage.html))
- [Multi-Cursor Editing](https://awesome-repositories.com/f/development-tools-productivity/multi-cursor-editing.md) — Helix enables users to edit several parts of a document simultaneously by creating multiple cursors and applying a single command to all of them. ([source](https://docs.helix-editor.com/usage.html))
- [Syntax-Aware Navigation](https://awesome-repositories.com/f/development-tools-productivity/syntax-aware-navigation.md) — Helix enables users to move the selection between code elements like functions and classes by traversing the underlying syntax tree structure. ([source](https://docs.helix-editor.com/syntax-aware-motions.html))
- [Code Navigation Tools](https://awesome-repositories.com/f/development-tools-productivity/code-navigation-tools.md) — Helix enables users to jump between code elements like functions and parameters by using structural queries to find occurrences of specific blocks. ([source](https://docs.helix-editor.com/textobjects.html))
- [Cursor Navigation Systems](https://awesome-repositories.com/f/development-tools-productivity/cursor-navigation-systems.md) — Helix allows users to jump to specific characters, words, or structural elements within the document to move the cursor or modify existing selections. ([source](https://docs.helix-editor.com/usage.html))
- [Editor Diagnostics](https://awesome-repositories.com/f/development-tools-productivity/editor-diagnostics.md) — Helix shows error and warning messages directly within the text area with customizable severity levels and limits on message display. ([source](https://docs.helix-editor.com/editor.html))
- [Fuzzy Finders](https://awesome-repositories.com/f/development-tools-productivity/fuzzy-finders.md) — Helix provides fuzzy matching and regex queries to quickly locate and select files, symbols, or commands from interactive lists. ([source](https://docs.helix-editor.com/pickers.html))
- [Keybinding Managers](https://awesome-repositories.com/f/development-tools-productivity/keybinding-managers.md) — Helix enables users to assign custom keybindings to trigger specific commands, macros, or sequences of actions to personalize the text editing workflow. ([source](https://docs.helix-editor.com/remapping.html))
- [Language Server Integrations](https://awesome-repositories.com/f/development-tools-productivity/language-server-integrations.md) — Communicates with external language servers to provide asynchronous code intelligence, diagnostics, and completion suggestions via standardized JSON-RPC messaging.
- [Picker Interfaces](https://awesome-repositories.com/f/development-tools-productivity/picker-interfaces.md) — Helix allows users to browse through interactive lists using keyboard shortcuts to filter entries, preview selections, and open files in different window layouts. ([source](https://docs.helix-editor.com/keymap.html))
- [Text Selection Utilities](https://awesome-repositories.com/f/development-tools-productivity/text-selection-utilities.md) — Helix allows users to expand existing text selections using movement commands to iteratively capture more content or refine search results. ([source](https://docs.helix-editor.com/keymap.html))
- [Buffer Management Systems](https://awesome-repositories.com/f/development-tools-productivity/buffer-management-systems.md) — Helix provides command-line instructions and interactive lists to switch between multiple open files held in memory for efficient workspace navigation. ([source](https://docs.helix-editor.com/usage.html))
- [Editor Configuration Systems](https://awesome-repositories.com/f/development-tools-productivity/editor-configuration-systems.md) — Tailoring the development environment through modular settings, theme definitions, and keybindings to match individual preferences and project requirements.
- [File Discovery Rules](https://awesome-repositories.com/f/development-tools-productivity/file-discovery-rules.md) — Helix enables users to define rules for finding files by specifying which hidden files, symbolic links, or version control directories to ignore. ([source](https://docs.helix-editor.com/editor.html))
- [Language Support Extensions](https://awesome-repositories.com/f/development-tools-productivity/language-support-extensions.md) — Helix supports adding new programming languages by defining their core properties and server integration settings in the central configuration file. ([source](https://docs.helix-editor.com/guides/adding_languages.html))
- [Command Argument Parsers](https://awesome-repositories.com/f/development-tools-productivity/command-argument-parsers.md) — Helix processes command-line inputs by applying quoting, escaping, and expansion rules to handle spaces, special characters, and dynamic variable substitution. ([source](https://docs.helix-editor.com/command-line.html))
- [Command Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-interfaces.md) — Helix allows users to invoke predefined editor actions without arguments by binding them to specific keys or selecting them from a command list. ([source](https://docs.helix-editor.com/commands.html))
- [Command Line Input Utilities](https://awesome-repositories.com/f/development-tools-productivity/command-line-input-utilities.md) — Helix controls text entry in command prompts using shortcuts for cursor movement, word deletion, history navigation, and inserting content from registers. ([source](https://docs.helix-editor.com/keymap.html))
- [Command Pattern Expanders](https://awesome-repositories.com/f/development-tools-productivity/command-pattern-expanders.md) — Helix supports dynamic command patterns that resolve editor state or external shell output into variables for flexible input handling. ([source](https://docs.helix-editor.com/command-line.html))
- [Editor Navigation Settings](https://awesome-repositories.com/f/development-tools-productivity/editor-navigation-settings.md) — Helix defines how the tab key functions to navigate through code structures or cycle through available completion options based on cursor location. ([source](https://docs.helix-editor.com/editor.html))
- [Editor Status Bars](https://awesome-repositories.com/f/development-tools-productivity/editor-status-bars.md) — Helix allows users to arrange the status bar with specific information elements, separators, and mode indicators to monitor editor state and file details. ([source](https://docs.helix-editor.com/editor.html))
- [Multi-Cursor Editing Systems](https://awesome-repositories.com/f/development-tools-productivity/multi-cursor-editing-systems.md) — Maintains a collection of independent selection ranges that allow simultaneous text modification and synchronized command execution across a document.
- [Syntax Grammar Managers](https://awesome-repositories.com/f/development-tools-productivity/syntax-grammar-managers.md) — Helix enables users to download and link syntax parsing grammars from remote repositories or local paths for accurate code interpretation. ([source](https://docs.helix-editor.com/guides/adding_languages.html))
- [Text Register Managers](https://awesome-repositories.com/f/development-tools-productivity/text-register-managers.md) — Helix enables users to store and retrieve specific text selections using named registers to facilitate complex copy, paste, and move operations. ([source](https://docs.helix-editor.com/registers.html))
- [Text Wrapping Utilities](https://awesome-repositories.com/f/development-tools-productivity/text-wrapping-utilities.md) — Helix allows users to add, change, or remove characters surrounding selected text to quickly wrap or unwrap content in parentheses, brackets, or quotes. ([source](https://docs.helix-editor.com/surround.html))

### Software Engineering & Architecture

- [Language Server Clients](https://awesome-repositories.com/f/software-engineering-architecture/language-server-clients.md) — A built-in integration layer that communicates with external language servers to provide real-time code analysis, completion, and diagnostic feedback.
- [Code Transformation Tools](https://awesome-repositories.com/f/software-engineering-architecture/code-transformation-tools.md) — Performing precise text operations by leveraging structural tree parsing to select, move, and modify code blocks based on language grammar.
- [Syntax Parsers](https://awesome-repositories.com/f/software-engineering-architecture/syntax-parsers.md) — Uses an incremental parsing library to build a concrete syntax tree for real-time code navigation and structural text manipulation.
- [Syntax Parsing Engines](https://awesome-repositories.com/f/software-engineering-architecture/syntax-parsing-engines.md) — A structural parsing framework that maps source code into syntax trees to enable precise code navigation, highlighting, and text object selection.
- [Syntax Query Definitions](https://awesome-repositories.com/f/software-engineering-architecture/syntax-query-definitions.md) — Helix allows users to create query files that traverse syntax trees to determine correct indentation levels based on node captures. ([source](https://docs.helix-editor.com/guides/indent.html))
- [Structural Text Objects](https://awesome-repositories.com/f/software-engineering-architecture/structural-text-objects.md) — Helix maps syntax nodes to selectable text objects like functions or classes by creating query files that enable precise code manipulation. ([source](https://docs.helix-editor.com/guides/textobject.html))
- [Indentation Engines](https://awesome-repositories.com/f/software-engineering-architecture/indentation-engines.md) — Helix applies conditional predicates within query expressions to compare node types and line positions for precise control over complex indentation patterns. ([source](https://docs.helix-editor.com/guides/indent.html))

### User Interface & Experience

- [Terminal User Interfaces](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces.md) — Renders the user interface directly into the terminal emulator using ANSI escape sequences for efficient, low-latency visual updates.
- [Theme Inheritance Systems](https://awesome-repositories.com/f/user-interface-experience/theme-inheritance-systems.md) — Helix enables users to extend existing visual themes by inheriting base settings and selectively overriding specific colors or styles. ([source](https://docs.helix-editor.com/themes.html))
- [Color Palette Systems](https://awesome-repositories.com/f/user-interface-experience/color-palette-systems.md) — Helix allows users to group reusable colors into palettes within a theme file to simplify color management and allow for easy overrides. ([source](https://docs.helix-editor.com/themes.html))
- [Editor Gutter Components](https://awesome-repositories.com/f/user-interface-experience/editor-gutter-components.md) — Helix allows users to arrange the side gutter to display line numbers, diagnostic status indicators, and version control changes alongside the main text area. ([source](https://docs.helix-editor.com/editor.html))
- [Syntax Highlighting Engines](https://awesome-repositories.com/f/user-interface-experience/syntax-highlighting-engines.md) — Helix applies specific colors and styles to syntax scopes or interface elements by matching them against tree-sitter patterns or predefined UI keys. ([source](https://docs.helix-editor.com/themes.html))
- [Text Styling Utilities](https://awesome-repositories.com/f/user-interface-experience/text-styling-utilities.md) — Helix styles text elements with bold, italic, or blink effects by utilizing terminal capabilities to highlight specific syntax scopes or interface components. ([source](https://docs.helix-editor.com/themes.html))

### Web Development

- [Syntax Highlighting Engines](https://awesome-repositories.com/f/web-development/syntax-highlighting-engines.md) — Helix allows users to create custom query files that map code structures to visual styles to ensure correct syntax interpretation and display. ([source](https://docs.helix-editor.com/guides/adding_languages.html))
- [Language Injection Patterns](https://awesome-repositories.com/f/web-development/language-injection-patterns.md) — Helix defines patterns that identify and highlight embedded code blocks within a file, such as scripts inside HTML or SQL inside strings. ([source](https://docs.helix-editor.com/guides/injection.html))

### Programming Languages & Runtimes

- [Language Server Integrations](https://awesome-repositories.com/f/programming-languages-runtimes/language-server-integrations.md) — Helix configures language servers and syntax rules to unlock sophisticated features like structural text selection, automatic indentation, and intelligent code navigation. ([source](https://docs.helix-editor.com/lang-support.html))
