Jump to content

Helix

From ArchWiki

Helix is a modal text editor written in Rust and inspired by Neovim and Kakoune. It implements changes to the traditional Vim workflow similar to Kakoune's, like selection-based editing and multi-cursor support. Helix bundles and enables many features out of the box. It does have adding custom language support and #Plugins support.

Installation

Install the helix package.

Configuration

Note The launcher binary is renamed as 'helix', due to conflicts with the package hex. Users wishing to use hx instead of helix need to make an alias

Helix reads an optional ~/.config/helix/config.toml configuration file. See this page of the official documentation for a list of available options.

Usage

For a basic overview on how to use helix, follow the helix tutorial by running either helix --tutor or :tutor.

Syntax highlighting

To enable syntax highlighting for many programming languages: install an lsp then edit ~/.config/helix/languages.toml to include it

Indentation

Helix will detect the indentation used in the file, or otherwise defaults to the language indentation configured in languages.toml, with a fallback to tabs if it is not specified.

example:

name = "javascript"
indent = { tab-width = 4, unit = "    " }

Using the mouse

helix has the ability to make use of the mouse already set to true by default, To disable this feature, add this line into ~/.config/helix/config.toml:

mouse = false

Tips and tricks

Line numbers

By default absolute line numbers are shown, relative numbers can be enabled with :line-number or in the config ~/.config/helix/config.toml.

Jumping to a specific line is possible with :line number or line numbergg.

Spell checking

Helix has the ability to do spell checking, enable by installing a tree-sitter package

True color support

True color support is enabled by default

Language Server Protocol

Helix contains a built-in Language Server Protocol client. To enable it, follow the wiki

See Language Server Protocol for a list of Arch packages.

Plugins

Adding plugins to Helix can increase your productivity by extending Helix features. Plugins can alter Helix UI, add new commands, enable code completion support, integrate other programs and utilities with Helix, add support for additional languages and more.

Tip For a list of popular plugins, see helix-plugins.

See also