Comments (4)
I discovered your leap.nvim plugin, and tried it. I actually find it less disorienting, even with safe_labels
. I think the combination of (a) no graywash and (b) repeat being opt-in with enter means that the jumping behavior is a lot more predictable. Surprisingly I don't even miss timeouts being gone there, due to the predictability.
So maybe leap.nvim is just more what I'm looking for, and my thoughts on lightspeed are less relevant? Either way, kudos for your great plugins.
from lightspeed.nvim.
Currently, all uses of 2-character search use the same timeout (
exit_after_idle_msecs.labeled
).
No, that is not entirely true. It is as simple and consistent as possible: if there are labels on the screen, the labeled
timeout value applies, if there are no labels, only match highlights, then the unlabeled
one (otherwise it is a bug). The kind of motion doesn't matter. For example, if you do a repeated 2-char search, but there are lots of matches (more than the number of safe labels), you can see that after the initial ;
the labels will disappear, and change to match highlights. (Otherwise you could not exit safely.)
On the other hand, it is an intentional feature that the labels usually remain active even after ;
. You might notice that there are too many matches to ;;;;;;
through them, and want to use the label instead. What you're really asking for is a means for disabling this feature, I guess.
The problem is, I'm actually considering removing the timeout option entirely. It is a pretty useless gimmick actually: you most probably want to do something after a jump; the only exception I could think of is if one has some very big scrolloff
value set, and want to use a lightspeed motion as a substitute for scrolling; that sounds a bit silly for me though, and in any case, is far from being compelling enough.
from lightspeed.nvim.
otherwise it is a bug
...and indeed it is the case! Thanks for bringing this to my attention, I'll look into it ASAP.
Still, what about the rest (1. keeping the labels available as a worthwhile feature 2. do we need timeout at all)?
from lightspeed.nvim.
No, that is not entirely true. It is as simple and consistent as possible: if there are labels on the screen, the labeled timeout value applies, if there are no labels, only match highlights, then the unlabeled one (otherwise it is a bug).
After experimenting a little bit more, I actually found the thing that was most disorienting to me was safe_labels
, since that is what causes a jump without remove the graywashing, or the labels when using instant repeat. I'm experimenting with unsetting safe_labels
. With that unset, it's just the highlights not timing out that bother me. Sounds like that's just a bug.
Still, what about the rest (1. keeping the labels available as a worthwhile feature 2. do we need timeout at all)?
For highlights, I definitely like those timing out (both for instant repeat and for f
/t
motion). One thing I do pretty commonly is move to a place where I plan to work on next, without having fully decided what I actually want to do. Leaving the highlights indefinitely is distracting. It's more of a polish thing, since the only key that is still bottled is s
, and you can always just escape
out of it.
Sorry if I'm unclear! I've generally found lightspeed to behave intuitively, but it seems like you built some complex concepts to accomplish that. I definitely had to spend a decent amount of time reading the manual to try to map what I'm seeing onto all those concepts. Lightspeed is definitely my favorite easymotion-style plugin though. Thanks for considering my feedback!
from lightspeed.nvim.
Related Issues (20)
- Update configuration in init.vim HOT 6
- Error in `set_editor_opts` in `LightspeedLeave` autocommand HOT 3
- fatal: invalid reference: master when Installing or Updating with vim-plug HOT 1
- A suggestion for f/t HOT 3
- Problems when setting safe_labels = {} HOT 1
- Error on yank after jumping HOT 1
- Features Request: Search all windows in the tabpage HOT 1
- Configurable delay/timeout for f motions HOT 1
- Option to add characters to special character list HOT 1
- Lightspeed overwriting neogit shortcuts HOT 4
- Newly installed lightspeed.nvim throws error. Doesn't override nvim defaults. HOT 2
- Potential matched words get highlighted, doesn't go away HOT 2
- Matching Issues HOT 2
- lightspeed with vim-multiple-cursors
- Lightspeed resets scrolloff to 0 HOT 1
- automatically exit f/F HOT 3
- multibyte bug with display bounds computation HOT 2
- how to begin troubleshooting if plugin does not seem to have mapped keys? HOT 2
- Cursor not refreshing.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lightspeed.nvim.