Helix: Difference between revisions

Klinger (talk | contribs)
Category and sentence to explain what it is. hx --health.
Loxodoromy (talk | contribs)
mNo edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[https://helix-editor.com/ Helix] is a modal text-editor inspired by [[Neovim]] and [[Kakoune]], written in Rust. Compared to neovim, it is preconfigured with the functions that most people need. It has no plugin system. It uses (neo-)vim motions keybindings, but it uses the object-verb approach (visually highlighting text and then executing a function on it). It is intended for people who like to use a modal text editor but don't want to spend a lot of time configuring it.
[https://helix-editor.com/ Helix] is a modal text-editor inspired by [[Neovim]] and [[Kakoune]], written in Rust. Compared to neovim, it is preconfigured with the functions that most people need (for example tree-sitter for syntax highlighting). It has no plugin system. It uses (neo-)vim motions keybindings, but it uses the object-verb approach (visually highlighting text and then executing a function on it). It is intended for people who like to use a modal text editor but don't want to spend a lot of time configuring it.


== Installation ==
== Installation ==
Line 5: Line 5:
<syntaxhighlight lang=nix>
<syntaxhighlight lang=nix>
environment.systemPackages = [ pkgs.helix ];
environment.systemPackages = [ pkgs.helix ];
</syntaxhighlight>Depending on the programming languages it is helpful to install additional packages from nixpgks. To show what packages are needed, it is necessary to run Helix:
</syntaxhighlight>Depending on the programming languages it is helpful to install additional packages from nixpkgs. To show what packages are needed, it is helpful to check <code>hx --health</code>.
 
hx --health
 
=== With Home Manager ===
=== With Home Manager ===
[[Home Manager]] provides a module for configuring helix.
[[Home Manager]] provides a module for configuring helix.
<syntaxhighlight lang=nix>
<syntaxhighlight lang="nix">
programs.helix = {
programs.helix = {
   enable = true;
   enable = true;
Line 25: Line 22:
     name = "nix";
     name = "nix";
     auto-format = true;
     auto-format = true;
     formatter.command = "${pkgs.nixfmt}/bin/nixfmt";
     formatter.command = lib.getExe pkgs.nixfmt-rfc-style;
   }];
   }];
   themes = {
   themes = {
Line 37: Line 34:


== Configuration ==
== Configuration ==
The configuration is stored in two files: ./.config/helix/config.toml and ./.config/helix/language.toml  
The configuration is stored in two files: <code>~/.config/helix/config.toml</code> and <code>~/.config/helix/language.toml</code>.


* The full configuration options are described on the [https://docs.helix-editor.com/ Helix documentation].
* The full configuration options are described on the [https://docs.helix-editor.com/ Helix documentation].
Line 43: Line 40:


[[Category:Applications]]
[[Category:Applications]]
[[Category:CLI Applications]]
[[Category:Text Editor]]