GithubHelp home page GithubHelp logo

Comments (12)

abo-abo avatar abo-abo commented on July 22, 2024

One target is pre-selected (ideally the target that's in the middle) and highlighted differently, and then I can select the next/previous target using C-f/C-b//.

Isn't this what swiper does? I actually added an option to select a swiper candidate with avy on C-'. There would usually be less than 10 candidates, and if you make an error, you can call ivy-resume and try again.

Instead of using random char sequences from avy-keys, use short English (or whatever) words.

It's doable, but I don't know if it's worth the hassle. What to do if there's an error when typing the English word? With error handling, this is again swiper, only more situational.

Since I usually manage to type at least the first character correctly, it would help if I could extend the range of avy-keys to include also uppercase letters.

I prefer two lower-case chars to one upper-case. In any case, you can customize avy-keys.

But I'd like those to be used only if then a target can be reached with one single key.

This rule needs to be formalized. Suppose there's <= 26 candidates, then a-z are enough. If there are <= 72, then a-zA-Z are enough. For more than 72, I could reserve the first or last 26 for A-Z, and proceed with the general algorithm for the rest. So it's doable, I'll think about it.

And, of course, pull requests are welcome on all 3 issues.

from avy.

vermiculus avatar vermiculus commented on July 22, 2024

To solve the underlying problem for you, my suggestion would be to force a binary tree by only allowing fj (or a quad-tree with fjir) as candidates (or whatever characters you can very quickly distinguish). That way, it's just as fast to move about, but you have zero movement with few fingers.

Having everything on the home row by default is great, but it's only really useful for classically trained typists. :) (Also the health benefits, etc.)

from avy.

tsdh avatar tsdh commented on July 22, 2024

Oleh Krehel [email protected] writes:

One target is pre-selected (ideally the target that's in the middle)
and highlighted differently, and then I can select the next/previous
target using C-f/C-b//.

Isn't this what swiper does?

Well, except that it's not restricted to the parts of the buffers
visible in a window. And I can't differentiate multiple matches on the
same line.

I actually added an option to select a swiper candidate with avy on
C-'. There would usually be less than 10 candidates, and
if you make an error, you can call ivy-resume and try again.

I mostly use avy-goto-char and when I want to jump to some frequently
occuring letter like e, there can be 100 matches.

Instead of using random char sequences from avy-keys, use short
English (or whatever) words.

It's doable, but I don't know if it's worth the hassle.

Me, too. I just wanted to throw in some ideas. :-)

What to do if there's an error when typing the English word?

That's my point. I can write real words without errors but have
problems with random "aoe".

Since I usually manage to type at least the first character
correctly, it would help if I could extend the range of avy-keys to
include also uppercase letters.

I prefer two lower-case chars to one upper-case. In any case, you can
customize avy-keys.

Yes, of course...

But I'd like those to be used only if then a target can be reached
with one single key.

This rule needs to be formalized. Suppose there's <= 26 candidates,
then a-z are enough. If there are <= 72, then a-zA-Z are enough. For
more than 72, I could reserve the first or last 26 for A-Z, and
proceed with the general algorithm for the rest. So it's doable, I'll
think about it.

Yes, something like that was what I've meant. Basically, I'd use my
home row keys in lower and upper case which would give 22 singe-char
targets. For the 23th+ matches I'd get multi-char combos, but only with
lower-case letters. I think, I would an extra variable avy-extra-keys
for that.

And, of course, pull requests are welcome on all 3 issues.

This weekend is packed but I'll see what I can do.

Bye,
Tassilo

from avy.

tsdh avatar tsdh commented on July 22, 2024

Sean Allred [email protected] writes:

To solve the underlying problem for you, my suggestion would be to
force a binary tree by only allowing fj (or a quad-tree with fjir)
as candidates (or whatever characters you can very quickly
distinguish). That way, it's just as fast to move about, but you have
zero movement with few fingers.

Yeah, that also came to my mind. My avy binding is C-c SPC, so I've
used g, c, and t as avy-keys (g and t are adjacent to c on my German
Dvorak Type II layout). Typing-wise that's great but in a packed tex
buffer and a frequently occurring char, this usually gives a length of
four or five characters I need to press.

Hm, now I added "ΓΌ,." which are the same keys on the other side. That
seems to be a good compromise between few/easy keys and length of the
key sequence I have to type.

Having everything on the home row by default is great, but it's only
really useful for classically trained typists. :)

Indeed. I've never learned touch-typing. At some point, I just bought
a keyboard without labels, and by using only that I now can type without
having to look. But if you asked me for the position of some specific
letter on my keyboard, I'd have no clue.

from avy.

abo-abo avatar abo-abo commented on July 22, 2024

classically trained typists

I'm trained by The Typing of the Dead. That game was a classic indeed.

from avy.

tsdh avatar tsdh commented on July 22, 2024

πŸ‘

from avy.

bbatsov avatar bbatsov commented on July 22, 2024

I'm trained by gtypist. :-)

from avy.

PythonNut avatar PythonNut commented on July 22, 2024

@tsdh how would this interact with the issue of #5? Using dictionary words would force you to use at, pre, or post, therefore displacing the text. I doubt there's a closed-form de-bruijn sequence of english words πŸ“‰ .

from avy.

tsdh avatar tsdh commented on July 22, 2024

You're right. This idea won't work without displacement of text.

from avy.

bbatsov avatar bbatsov commented on July 22, 2024

My two cents are that such a feature doesn't really fit the spirit (and goal) of the package. Maybe another package should provide something like this, but I think adding it to avy would be wrong.

from avy.

tsdh avatar tsdh commented on July 22, 2024

I wouldn't argue with spirit but I also think it wouldn't be to useful. Most of the two or three letter words my duct lists are completely unknown to me so I wouldn't be able to your them with less errors. And the number would quickly shrink to too few if avy-keys is not the full alphabet.

from avy.

tsdh avatar tsdh commented on July 22, 2024

I think I'm just closing this one as the ideas aren't really worth implementing (and I already have a better idea).

from avy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.