this post was submitted on 24 Jun 2023
24 points (100.0% liked)

Neovim

2159 readers
1 users here now

founded 1 year ago
MODERATORS
all 5 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 1 year ago

I appreciate the search integration. I often forget to use the standalone version on whatever plugin I’m currently using

[–] [email protected] 2 points 1 year ago

Nice, I'm using leap.nvim and will give this a try. Seems like a better implementation

[–] [email protected] 2 points 1 year ago

This is great, also using leap currently but this fits way better and treesitter integration is an awesome bonus.

[–] muntoo 2 points 1 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.