Editors of the future

What is Helix?

Helix is an open-source terminal-based text editor written in Rust. It is designed to be highly customizable, fast, and efficient, with a focus on providing a smooth editing experience for developers and advanced users.

Some key features of Helix include:

  1. Modal editing: Helix uses a modal editing system similar to Vim, with different modes for navigation, insertion, and selection.

  2. Syntax highlighting: It supports syntax highlighting for a wide range of programming languages and file formats.

  3. Multiple selections: Users can make multiple selections and edit them simultaneously.

  4. Built-in language server protocol (LSP) support: Helix integrates with language servers to provide features like auto-completion, go-to-definition, and diagnostics.

  5. Customizable themes and keybindings: Users can easily customize the appearance and keybindings of Helix to suit their preferences.

  6. Tree-sitter integration: Helix uses tree-sitter for fast and accurate parsing of source code, enabling features like syntax highlighting and code folding.

  7. Cross-platform support: Helix runs on Linux, macOS, and Windows.

Helix aims to provide a modern, fast, and powerful text editing experience while leveraging the benefits of Rust's performance and safety guarantees.

How does Helix compare to NeoVim? Should I switch?

Helix and NeoVim are both powerful text editors with a focus on extensibility and customization. Here are some comparisons between the two:

  1. Language: Helix is written in Rust, while NeoVim is written in C and Lua. Rust provides performance and safety benefits, while Lua is known for its simplicity and ease of use.

  2. Maturity: NeoVim is a more mature project with a larger user base and plugin ecosystem. Helix is relatively newer but is actively developed and gaining popularity.

  3. Modal editing: Both editors support modal editing, similar to Vim. However, Helix aims to provide a more streamlined and intuitive modal editing experience.

  4. Performance: Helix leverages Rust's performance and has a focus on speed and efficiency. NeoVim is also known for its performance but may not be as fast as Helix in certain scenarios.

  5. LSP support: Both editors have built-in support for the Language Server Protocol (LSP), enabling features like auto-completion and go-to-definition.

  6. Customization: NeoVim has a large plugin ecosystem and allows for extensive customization using Lua. Helix also supports customization through its configuration files and is designed to be highly extensible.

As for whether you should switch from NeoVim to Helix, it largely depends on your personal preferences and requirements. If you are satisfied with NeoVim and have invested time in customizing it to your liking, there may not be a compelling reason to switch. However, if you are interested in trying out a newer editor with a focus on performance and a modern design, Helix might be worth exploring.

Ultimately, the choice between the two editors comes down to factors such as your familiarity with the editors, the specific features you need, the programming languages you work with, and your willingness to invest time in learning and configuring a new tool. It's recommended to try both editors and see which one better suits your workflow and preferences.

What is Kakoune?

Kakoune is a free and open-source modal text editor that focuses on interactivity, multiple selections, and a client-server architecture. It was created by Maxime Coste and is inspired by Vim, but with a different approach to editing.

Key features of Kakoune include:

  1. Multiple selections: Kakoune places a strong emphasis on making and manipulating multiple selections simultaneously, which can greatly enhance editing efficiency.

  2. Modal editing: Like Vim, Kakoune uses modal editing, with distinct modes for inserting text, selecting text, and manipulating selections.

  3. Client-server architecture: Kakoune follows a client-server model, where the editing session is managed by a server, and multiple clients can connect to the same session. This enables features like collaborative editing and remote editing.

  4. Orthogonal design: Kakoune aims to provide a set of orthogonal and composable primitives that can be combined to perform complex tasks, promoting a more efficient and expressive editing workflow.

  5. Language-agnostic: Kakoune is not tied to any specific programming language and can be used for editing any type of text file.

  6. Extensibility: Kakoune supports extensibility through its built-in scripting language, which allows users to define custom commands and mappings.

  7. Cross-platform: Kakoune is available on Unix-like systems, including Linux and macOS, and can also be used on Windows through Cygwin or WSL.

Kakoune's unique features, such as its focus on multiple selections and orthogonal design, set it apart from other modal text editors. It aims to provide a more interactive and efficient editing experience while still offering the benefits of modal editing.