• @muntoo
    link
    English
    21 year ago

    It feels far more natural to me than lightspeed.nvim and leap.nvim. I should probably time myself, but I feel like I’m jumping around at least 4x as fast leap.nvim et al, but without even thinking. At all. It’s that natural.

    • Makes you feel faster than the Yellow Flash of the Hidden Leaf who killed 1000 50 shinobi within seconds by flashing around.
    • Type in as many characters as you want, not some semi-arbitrary number.
    • Stabilizes on a single jump character very quickly.
    • Minimizes information overload.
    • Bidirectional and smartcase design by default. I argued here why using unidirectional/case-sensitive matching is very, very suboptimal (only 2 bits of information for 2 additional key presses!). It’s kind of like Golomb coding (i.e. unary code of up to length 2 + fixed-length code) when a fixed-length code on its own would be far more efficient.
    • Information theoretically ideal for the average scenario. (Just kidding, I haven’t proved it rigorously or anything. In fact, even if it turns out not to be “ideal”, it’s so ergonomic that it’s well worth a few wasted bits.) In contrast, lightspeed/leap seem like they were designed for the unlikely or exceptional scenario (for which they are, admittedly, decent), even at significant cost to much more common scenarios. If I ever encounter an exceptional scenario, I can always fall back on regular vim motions anyways, so I don’t see the point of optimizing for the rare case.

    …It’s exactly how I would have designed such a navigation plugin I had time to create one, and addresses some things I would have liked to see in its predecessors. Actually, it’s a bit better than what I would have come up with. I mean, it’s a folke plugin. Simultaneously stellar engineering and design.