Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mizlan/longbow.nvim
🏹 Aim with efficiency and precision—regardless the target.
https://github.com/mizlan/longbow.nvim
Last synced: about 2 months ago
JSON representation
🏹 Aim with efficiency and precision—regardless the target.
- Host: GitHub
- URL: https://github.com/mizlan/longbow.nvim
- Owner: mizlan
- Created: 2022-08-02T20:04:06.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-08-06T01:05:24.000Z (over 2 years ago)
- Last Synced: 2024-10-10T23:29:45.415Z (3 months ago)
- Language: Lua
- Size: 16.6 KB
- Stars: 12
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# longbow.nvim 🏹
*the ultraprecise, uncompromising weapon in your motion arsenal*
https://user-images.githubusercontent.com/44309097/182473181-59d268da-bdf2-4542-883c-38fcce56075d.mov
## Overview
Longbow is a *visible-editor-area motion* for Neovim that does not use any form
of direct search in its targeting mechanism. Instead, it fills all text
onscreen with character labels in such a way that all consecutive sequences of two
labels are unique ([→ how?](https://en.wikipedia.org/wiki/De_Bruijn_sequence)).
This way, all you need to do is type the character label at the location you'd
like to jump to, and then the character immediately to the right of it, and
you'll be transported right there.## Features
* Jump with character-precision to emojis and other uneasily-typed characters
* Type two characters, **only and always**, even in dense and repetitive passages## Caveats
* Not a search-based movement, and therefore little pre-empting available for user to exploit
* Labels may be source of visual noise, requiring nontrivial concentration and decent reaction/typing speed## Todo
* option to only enable on alphanumeric(-esque) (or non-whitespace) characters (with highlight to help differentiate)
* have a subroutine that alters highlight groups to fade non-alphanumeric characters
* fix bugs with edge cases