Kakoune#

Kakoune is a modal terminal editor that inverted Vim’s grammar; selections come before actions. Helix later picked up the same model. Designed by Maxime Coste in 2010 with “vi-like but stricter and more orthogonal” as the goal.

The Selections-First Model#

Kakoune flips Vim’s verb-then-noun grammar to noun-then-verb. The selection is always visible; you build it explicitly, then act on it. Multi-cursor falls out for free; if you select all matches of a pattern, every subsequent motion or edit applies to all of them.

Vim: diw (delete inner word). Kakoune: wd (select word, then delete).

The selection is always visible. You build a selection, then act on it. Multi-cursor follows naturally; if you select all matches of a pattern with s, the next motion or action applies to every selection.

Survival Cheat Sheet#

The minimum to be productive in Kakoune. Movement keys extend the current selection from the anchor; multi-cursor verbs (s, S, ,) operate on the set of selections; editing verbs (d, c, y) act on whatever is highlighted right now:

Selection / movement

Keys

Action

h j k l

← ↓ ↑ → (extends from anchor)

w / W

next word / WORD

b / B

prev word / WORD

e / E

end of word / WORD

x

extend selection by line

gg / ge

file top / end

%

select all

Multi-cursor

Keys

Action

s

regex-select within current selection

S

regex-split within current selection

,

clear all selections except one

C

copy selection to next line

&

align selections

Editing

Keys

Action

d

delete selection

c

change (delete + insert)

y / p

yank / paste

u / U

undo / redo

i / a

insert before / after selection

Files#

Kakoune keeps a tiny config surface area: one kakrc and an autoload directory. The configuration language is Kakoune’s own shell-like DSL, compact, focused on hooks and key maps, and not a full programming language:

  • ~/.config/kak/kakrc, main config.

  • ~/.config/kak/autoload/, auto-loaded scripts.

Configuration is in Kakoune’s own scripting language, a small, shell-like DSL.

External Tools, Not Plugins#

Kakoune’s design philosophy: don’t reimplement what shell tools do well. The editor exposes selections to external programs and reads the result back; | pipes through a command, $ substitutes the output, and the surrounding shell takes care of sort, format, search, and fuzzy-find:

  • Sort, pipe selection through sort.

  • Format, pipe through prettier / black / rustfmt.

  • Search, shell out to ripgrep.

  • Fuzzy find, shell out to fzf / sk.

The editor exposes selections to external programs and reads back the result. | pipes, $ reads from a command, etc.

LSP#

LSP support comes via kak-lsp, a separate bridge process that translates between Kakoune and language servers. The split makes LSP a configurable Unix component rather than a built-in feature, which is consistent with Kakoune’s “compose with shell tools” philosophy.

Less seamless than Helix or Neovim; more flexible about which LSP features you wire up.

Strengths#

What Kakoune wins on against Vim and Helix. The selection-first model and Unix-y shell-out approach are both genuinely better ideas; the trade is that you do more wiring yourself than in a batteries-included editor.

  • Selections-first is genuinely a clearer mental model for many.

  • Multi-cursor as a primary feature, not a special mode.

  • Composes with Unix tools, the right philosophy for a Unix editor.

  • Fast and lean.

Weaknesses#

The cost of the small-and-Unix-y design. The ecosystem is thin, most non-trivial features require external tooling you wire up yourself, and platform support outside Linux is limited.

  • Tiny ecosystem compared to Vim / Neovim / Helix.

  • External tooling required for most non-trivial features.

  • Window management is unique (tmux-like).

  • macOS / Windows support limited; primarily a Linux editor.

When to Pick Kakoune#

Pick Kakoune when you want the original selection-first design and prefer building your editing environment out of small, composed pieces. For most users, Helix is “Kakoune’s ideas with batteries included” and a better starting point.

  • You like the selections-first model and want the original.

  • You enjoy composing the editor with shell tools.

  • You’d rather wire up your own pipeline than adopt a plugin ecosystem.

For most users, Helix is “Kakoune’s ideas, with batteries included”. Kakoune itself is for those who want the original and prefer the Unix- y “small editor + external tools” approach.