Comments (12)
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.
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.
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 callivy-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
customizeavy-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.
Sean Allred [email protected] writes:
To solve the underlying problem for you, my suggestion would be to
force a binary tree by only allowingfj
(or a quad-tree withfjir
)
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.
classically trained typists
I'm trained by The Typing of the Dead. That game was a classic indeed.
from avy.
from avy.
I'm trained by gtypist
. :-)
from avy.
@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.
You're right. This idea won't work without displacement of text.
from avy.
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.
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.
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)
- Feature request: a counterpart to 'avy-isearch that works with the "ctrlf" package HOT 1
- temporarily use all windows HOT 1
- Have an 'avy-org-refile-as-sibling' alternative to 'avy-org-refile-as-child'
- de-Bruijn candidate selection may fail when `avy-single-candidate-jump` is `nil` HOT 1
- How could I make a three char version of a command such as "avy-goto-char-2-below"?
- avy-goto-end-of-line does not respect the avy-styles-alist HOT 1
- Support always on "hats" style jumping HOT 3
- Reverse the order of key-labels for avy-goto-*-above HOT 2
- Avy's upstream and its version in elpa.git diverged
- Dimming buttons and headers HOT 1
- First char not highlighted
- Is there a workaround for shifted characters in variable-pitch-mode? HOT 1
- avy-copy/move-line/region expects a keystroke on emacs 28 HOT 2
- add-text-properties can be called on empty string
- Contribution Guidance Request: avy-goto-char-timer populate lead key face automatically
- How do I "activate" the avy-org-* commands?
- avy-dispatch-alist to invoke "isearch-forward-symbol-at-point" on C-s HOT 2
- What does de-bruijn style do? HOT 1
- avy-goto-char-2 display overlays after first character like Neovim's leap
- Go to word(-0) in line? HOT 1
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 avy.