Krabby is a web extension (for Chrome, Firefox and surf) for keyboard-based navigation, inspired by Kakoune.

The main differences with existing extensions are:
multiple selections,
keyboard layout agnostic,
SOV (subject–object–verb) constructs and
simple interaction with external programs.
It is also quite usable with the mouse.


  • Subject–object–verb order.
    Learn more at Differences with Vi(m).
  • Keyboard layout agnostic.
    Maps to physical keys, but displays with the US layout.
  • Multiple selections as a central way of interacting
  • Powerful selection manipulation primitives
  • Link hints
  • External editor support.
    Open your favorite editor on text inputs.
  • Tab search
  • Contextual commands
  • Contextual help
  • Simple interaction with external programs
  • Usable with the mouse.
    You can for example create a selection by grabbing a link with the mouse and to create the selection.
    Or create multiple selections by clicking on hints with .
    If you hold Control or Command, you can even make selections with the mouse selection area.
  • Limited scope.
    Krabby is not Vim, nor Kakoune.
    Krabby is trying to be a navigation tool and some concepts from code editors don’t translate well.
    For example, there is no concept of mode in Krabby, but a system of contexts.
  • Composability.
    Composability is better than extensibility.
    Krabby tries hard to provide features that interact well with each other.
    For example, and are two building blocks to focus a link and yank its URL.
    Depending on the context, will yank the page or a link URL.
  • Modular (think Emacs).
    Krabby is divided into multiple small projects.
    At its core Krabby just holds the configuration and grabs its functionalities from other projects.
  • Chrome, Firefox and surf support.
    It has also been tested on
    Vivaldi and


See krabby-resources for all available demos.

Live demo

  • Make sure to deactivate your extension and browser bindings.
  • Press to activate Krabby.
  • Press for help.


  • Commands are bound to physical keys and displayed with the US layout.
  • You can click on the keys themselves to run the commands.