abo-abo / avy

Jump to things in Emacs tree-style
1.71k stars 109 forks source link

Combinations for choosing where to move are weird #313

Closed irigone closed 3 years ago

irigone commented 3 years ago

I don't know how to word my title properly, I'm in the process of learning English, if you don't understand something I say in this issue, tell me. Note: it is VERY possible that I just don't know what "tree-style" means in context of avy and that's why I don't understand why you did it this way. I didn't read the source code and I can't read your mind to know what decisions you made in the past and why you did them. I'm also new to Emacs and Avy, sorry if I use incorrect words... See, when you use avy, you see a tree (I actually don't know what a tree is in context of avy) of what keys you have to press. For example, here I ran avy-goto-line and I have "e,t,he,ht,ue,ut" and so on and so on. 2020-10-06-112543_1366x768_scrot You see, this algorithm (and the default setting for it) is wrong and unergonomic (if such a word exists). First of all, it shows two letter combinations instead of one letter combinations too often, it starts with E, then goes T, which are ok, then goes HE, which requires me to type two letters when I could've typed O, or A, or N, or S. It would be more comfortable if I could type less but have practically the same thing. Now, it doesn't do much when your screen is full of variants of where you could move, but if you have just three, and you for some reason have to press two keys instead of one to go to the third one is kinda weird. To be honest, there is a better choice for the default "avy-keys" variable. Middle finger is the strongest, then goes index, then ring finger, then pinky. It would be great if you could add a priority to each letter in "avy-keys" variable, where first letter is the one that has to be be the most frequent. If you did make it better, "avy-keys" would have "D, K, J, F, L, S, ;(semicolon), G, H" letters and the list of what combinations it would show in the tree (or whatever) would be every symbol in "avy-keys" variable first, then "DK, KD, DJ, JD, KF, FK, DL, LD, KS, SK, SL, LS..." and the list goes on and on. Currently, the default is "A, S, D, F, G, H J, K, L, ;" which doesn't make much sense to me because in cases when there are 2-5 candidates it would start with your pinky, then ring finger, then middle finger, then index finger... resulting in left pinky overuse. I wish I could make a pull request myself but I don't know Lisp and I am not a programmer (yet)... I can probably write an algorithm for generating combinations from letters in Python! Will upload the code in the evening if you want me to

irigone commented 3 years ago

I decided I don't care