A post-modern modal text editor.
 
 
 
 
 
Go to file
Christian Fredrik Johnsen cb1ec1b27e fix(tutor): replace unexisting and non existing with nonexistent
Sounds more natural to me.
Just a spelling change.
2025-05-24 10:29:46 -04:00
.cargo Add hook/event system 2024-01-23 11:20:19 +09:00
.github CI: Set a timeout for the test suite workflow 2025-05-17 09:16:14 -04:00
book docs(building-from-source): suggest optimized install cmd as alternative (#13553) 2025-05-24 09:24:09 -05:00
contrib feat: add ConsoleOnly to desktop entry categories (#13236) 2025-03-31 09:28:50 -05:00
docs fix: typos (#13505) 2025-05-10 10:36:17 -05:00
helix-core syntax: Reset query cursor byte range for textobjects 2025-05-17 10:30:30 -04:00
helix-dap syntax: Move config types to a separate module 2025-05-13 18:30:21 -04:00
helix-event chore(msrv): bump from 1.76 to 1.82 (#13275) 2025-04-28 09:48:54 -05:00
helix-loader Replace tree-sitter with tree-house 2025-05-13 18:43:43 -04:00
helix-lsp syntax: Move config types to a separate module 2025-05-13 18:30:21 -04:00
helix-lsp-types chore(msrv): bump from 1.76 to 1.82 (#13275) 2025-04-28 09:48:54 -05:00
helix-parsec fix(clippy): clippy 1.83 lints (#12150) 2024-12-02 08:23:32 -06:00
helix-stdx chore(msrv): bump from 1.76 to 1.82 (#13275) 2025-04-28 09:48:54 -05:00
helix-term health: Use lsp name in output wherever possible (#13573) 2025-05-21 09:38:16 -05:00
helix-tui build(deps): bump the rust-dependencies group with 5 updates (#13070) 2025-03-11 08:29:38 -05:00
helix-vcs build(deps): bump the rust-dependencies group with 3 updates (#13437) 2025-04-29 10:48:45 +09:00
helix-view Replace tree-sitter with tree-house 2025-05-13 18:43:43 -04:00
runtime fix(tutor): replace unexisting and non existing with nonexistent 2025-05-24 10:29:46 -04:00
xtask Replace tree-sitter with tree-house 2025-05-13 18:43:43 -04:00
.envrc direnv: Watch changes to default.nix 2025-03-04 11:31:54 -05:00
.gitattributes Help Linguist identify Tree-sitter queries (#13436) 2025-04-29 08:28:20 -05:00
.gitignore fix: added .DS_Store to gitignore 2024-11-20 16:18:42 -06:00
CHANGELOG.md Fix typos (#12690) 2025-02-02 18:58:29 -06:00
Cargo.lock build(deps): bump the rust-dependencies group with 3 updates (#13576) 2025-05-20 21:03:55 +09:00
Cargo.toml Replace tree-sitter with tree-house 2025-05-13 18:43:43 -04:00
LICENSE Add the LICENSE file. 2021-05-11 01:44:00 +09:00
README.md Fix repology badge (#11895) 2024-10-16 01:52:50 +09:00
base16_theme.toml base16_default: add styles to newer unthemed features (#10858) 2024-06-23 10:07:13 +09:00
default.nix default.nix: remove ellipsis in argument attrset 2025-05-09 11:57:48 -04:00
flake.lock flake: drop flake-utils dependency 2025-05-09 11:57:48 -04:00
flake.nix fix: typos (#13505) 2025-05-10 10:36:17 -05:00
grammars.nix chore: clean up grammars.nix (#13506) 2025-05-10 07:58:48 -05:00
languages.toml Update tree-sitter-haskell (#13475) 2025-05-17 07:42:52 -05:00
logo.svg Reduce logo sizes even more (#9211) 2024-01-02 23:16:37 +01:00
logo_dark.svg Reduce logo sizes even more (#9211) 2024-01-02 23:16:37 +01:00
logo_light.svg Reduce logo sizes even more (#9211) 2024-01-02 23:16:37 +01:00
rust-toolchain.toml chore(msrv): bump from 1.76 to 1.82 (#13275) 2025-04-28 09:48:54 -05:00
rustfmt.toml Add rustfmt.toml to force formatting to use rustfmt defaults 2021-07-23 18:11:22 +09:00
screenshot.png update screenshot (#1879) 2022-03-30 00:16:57 +09:00
shell.nix build(nix): update flake deps, add default.nix file 2022-06-21 17:39:30 -05:00
theme.toml Allow theming directory prompt completions (#12205) 2024-12-17 21:13:42 -06:00

README.md

Helix

Build status GitHub Release Documentation GitHub contributors Matrix Space

Screenshot

A Kakoune / Neovim inspired editor, written in Rust.

The editing model is very heavily based on Kakoune; during development I found myself agreeing with most of Kakoune's design decisions.

For more information, see the website or documentation.

All shortcuts/keymaps can be found in the documentation on the website.

Troubleshooting

Features

  • Vim-like modal editing
  • Multiple selections
  • Built-in language server support
  • Smart, incremental syntax highlighting and code editing via tree-sitter

Although it's primarily a terminal-based editor, I am interested in exploring a custom renderer (similar to Emacs) using wgpu or skulpin.

Note: Only certain languages have indentation definitions at the moment. Check runtime/queries/<lang>/ for indents.scm.

Installation

Installation documentation.

Packaging status

Contributing

Contributing guidelines can be found here.

Getting help

Your question might already be answered on the FAQ.

Discuss the project on the community Matrix Space (make sure to join #helix-editor:matrix.org if you're on a client that doesn't support Matrix Spaces yet).

Credits

Thanks to @jakenvac for designing the logo!