Kakoune: Difference between revisions
imported>Nhey No edit summary |
imported>Nhey No edit summary |
||
Line 2: | Line 2: | ||
== Configuration == | == Configuration == | ||
Kakoune may be configured without use of the nix build system (see [https://github.com/mawww/kakoune#running]), | Kakoune may be configured without use of the nix build system (simply add it to your system environment and see [https://github.com/mawww/kakoune#running]), or it may be configured using the <code>wrapKakoune</code> function defined in Nixpkgs[https://github.com/NixOS/nixpkgs/blob/c4f97342ba8ac84def72328616dd05d005bb4715/pkgs/top-level/all-packages.nix#L4514]: | ||
or it may be configured using the <code>wrapKakoune</code> function defined in Nixpkgs[https://github.com/NixOS/nixpkgs/blob/c4f97342ba8ac84def72328616dd05d005bb4715/pkgs/top-level/all-packages.nix#L4514]: | |||
<syntaxhighlight lang="nix> | <syntaxhighlight lang="nix> | ||
let | let | ||
Line 26: | Line 21: | ||
}; | }; | ||
in | in | ||
environment.systemPackages = [ myKakoune ]; | { | ||
environment.systemPackages = [ myKakoune ]; | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 19:49, 27 March 2020
Kakoune[1] is a modal text editor that operates on selections. Unlike Vim's command-motion paradigme, text is first selected, then operated upon (a motion-command paradigme, if you will). This allows Kakoune to provide strong visual feedback and incremental results while requiring keystroke counts similar to that of Vim. More on the design of Kakoune can be found here [2] and on https://kakoune.org.
Configuration
Kakoune may be configured without use of the nix build system (simply add it to your system environment and see [3]), or it may be configured using the wrapKakoune
function defined in Nixpkgs[4]:
let
myKakoune =
let
config = pkgs.writeTextFile (rec {
name = "kakrc.kak";
destination = "/share/kak/autoload/${name}";
text = ''
set global ui_options ncurses_assistant=cat
'';
});
in
wrapKakoune kakoune-unwrapped {
configure = {
plugins = [ config ];
};
};
in
{
environment.systemPackages = [ myKakoune ];
}