Helix
Helix is a 'Post-Modern' modal text editor based on Neovim and Kakoune that is written in Rust. Helix comes with a builtin language server, multiple selections, and smart syntax highlighting.
Installation
USE flags
USE flags for app-editors/helix A post-modern text editor
Emerge
This package is currently marked unstable so the unstable keyword must be accepted.
root #
emerge --ask app-editors/helix
Configuration
Helix uses TOML for configuration, making the configuration much easier cleaner than comparable text editors. The configuration is stored at ~/.config/helix/config.toml.
The runtime directory is installed into /usr/share/helix/runtime, and needs to be linked to the configuration of the user accounts running helix:
user $
ln -s /usr/share/helix/runtime ~/.config/helix/runtime
Usage
Helix can be started with hx:
user $
hx
Themes
Helix already has a large amount of themes built-in. Setting the theme can be done during a session with :theme catppucin_latte
or inside the configuration file
theme = "catppuccin_frappe"
Language support
Helix support languages through LSP with several LSP already pre-configured.
You just need to install the server for the corresponding language by placing the executable in PATH. For example, marksman for markdown will allow to jump between heading. This package is not available yet on Gentoo but a binary can be found on Github.
Configuration can be done in languages.toml. For example, setting texlab with tectonic (both not yet packaged by Gentoo but easily installed):
[language-server]
texlab = { command = "texlab", config = { texlab.build = { executable = "tectonic", args = ["-X", "compile", "%f", "--synctex", "--keep-logs", "--keep-intermediates" ] } } } , onSave = true } }
}
Using a LSP in LaTeX allows for example to have a completion upon the bibliography with the \cite{} command.
See Also
- Vim — a text editor based on the vi text editor.
- Neovim — a hyperextensible Vim-based text editor.
- Kakoune — a modern, actively developed editor for the command line, inspired by vi.