-
-![Screenshot](./screenshot.png)
+A soft fork of [Helix](https://helix-editor.com) which introduces Vim keybindings and more.
-A [Kakoune](https://github.com/mawww/kakoune) / [Neovim](https://github.com/neovim/neovim) inspired editor, written in Rust.
+[![Build status](https://img.shields.io/github/actions/workflow/status/usagi-flow/helix/evil-build.yml?style=for-the-badge&logo=github)](https://github.com/usagi-flow/helix/actions/workflows/evil-build.yml)
-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](https://helix-editor.com) or
-[documentation](https://docs.helix-editor.com/).
+> [!IMPORTANT]
+> This project is a work-in-progress, but should be stable enough for daily usage.
-All shortcuts/keymaps can be found [in the documentation on the website](https://docs.helix-editor.com/keymap.html).
+## Installation
-[Troubleshooting](https://github.com/helix-editor/helix/wiki/Troubleshooting)
+[Download a package](https://github.com/usagi-flow/helix/releases/tag/feat-evil-base) and extract it in `/opt`. Additionally, it's recommended to symlink it in `/usr/local/bin`:
-# Features
+```sh
+cd /opt
+sudo curl -Lo helix.tar.gz https://github.com/usagi-flow/helix/releases/download/feat-evil-base/helix--.tar.gz
+sudo tar -xf helix.tar.gz
+cd /usr/local/bin
+sudo ln -sv /opt/helix/hx .
+```
-- Vim-like modal editing
-- Multiple selections
-- Built-in language server support
-- Smart, incremental syntax highlighting and code editing via tree-sitter
+Builds are not in package repositories yet.
-It's a terminal-based editor first, but I'd like to explore a custom renderer
-(similar to Emacs) in wgpu or skulpin.
+## Project philosophy
-Note: Only certain languages have indentation definitions at the moment. Check
-`runtime/queries//` for `indents.scm`.
+### Configurable features instead of plugins
-# Installation
+This fork seeks to implement functionality as part of the editor, and make it configurable.
+The added functionality includes a Vim look-and-feel, but also other features.
-[Installation documentation](https://docs.helix-editor.com/install.html).
+In contrast, the upstream project, Helix, mostly limits its scope to its current core functionality, and defers further functionality to the future Scheme-based plugin system.
-[![Packaging status](https://repology.org/badge/vertical-allrepos/helix.svg)](https://repology.org/project/helix/versions)
+Compared to plugins, implementing features as part of the editor greatly improves performance, and avoids the risk of plugin compatibility issues.
-# Contributing
+### Sensible defaults
-Contributing guidelines can be found [here](./docs/CONTRIBUTING.md).
+In addition, sensible defaults are crucial:
+The editor must offer a wide range of tools for your job, but it must do what you expect an editor to do.
-# Getting help
+### Avoid Scheme/Lisp
-Your question might already be answered on the [FAQ](https://github.com/helix-editor/helix/wiki/FAQ).
+Scheme/Lisp should not be forced onto the user.
+It's error-prone and harder to read by humans, compared to Rust/TOML/Lua/...
-Discuss the project on the community [Matrix Space](https://matrix.to/#/#helix-community:matrix.org) (make sure to join `#helix-editor:matrix.org` if you're on a client that doesn't support Matrix Spaces yet).
+If upstream Helix moves to a [Scheme-based configuration](https://github.com/helix-editor/helix/issues/8853),
+this project will seek to provide a user-friendly alternative.
-# Credits
+## Project goals
-Thanks to [@jakenvac](https://github.com/jakenvac) for designing the logo!
+- Introduce more Vim keybindings
+- Implement common/crucial features as part of the editor:
+ - File tree (cf. [upstream PR](https://github.com/helix-editor/helix/pull/5768))
+ - Light/dark mode support (cf. [upstream PR](https://github.com/helix-editor/helix/pull/7788))
+- Maintain compatibility with upstream
+ - Isolate features to minimize conflicts with upstream changes
+ - Contribute features to upstream where possible
+ - Ensure (through CI) that rebasing is always possible
+ - Find a name for this project
\ No newline at end of file