4 ms·
Interesting, I probably need to learn jedi jump. I do feel like there's a class of nagivation I don't use. What if I wanted to select from your message (with th
by accoil 4y ago
Interesting, I probably need to learn jedi jump. I do feel like there's a class of nagivation I don't use. What if I wanted to select from your message (with the cursor at the start of it):
> again, another 2-3 key-presses
I guess atm, I would do `/again<enter>nvi(`. That's based off the fact that I don't think "again" shows up much in the text, and I can jump quickly between instances via `n`. Then once I'm there I realise that the rest in in parens, so I go for `vi(`. In retrospect I should have searched for "again," as the comma is even more specific.
It's funny: "Another benefit is precision. I don't need to pay a lot of attention to the mouse pointer's position." is close to an argument I'd make for the mouse. I think that might be because when I'm thinking, I idle with the mouse, higlighting things that look interesting to me etc. So when I want to move forwards, it's pretty close where I want to be. If I had to select something via keyboard I'd have to look for distinct markers to work out if I can do something like `vi(`, whereas the mouse lets me do fuzzy visual matching (acme would. This is only for mouse though, my touchpad/trackpoint is less precise.
My point was not that I think the mouse is better then the keyboard. My point was that I think the mouse tends towards a fuzzier exploratory mode, and the keyboard tends towards more focused execution modes. Even if you like one mode more, there's no reason not to improve the other.
Now after writing all this, I'm not sure that's correct as I can think of other exploratory keyboard UIs that work (e.g Norton Commander style file managers).
I do still think that there is no reason not to improve your mouse experience, a nd that it does have untapped potential. Acme editor has this thing where you can just right click a word, and it'd jump to the next instance of that word. No selection needed. So if you're reading some code and see an interesting variable you could right click to see where it's next used. This of course assumes you have your hand on a mouse already, which in the case of Acme you probably do as it has a heavy mouse focus.
Hover was a terrible example though. I hate having things appear during hover. I was just trying to think through what the least interaction would be, and you're quite right that if you can focus via keyboard easy it'd also be easy to get hover.
----
A weird thought came to me during this: what if the vimperator/vimium/surfingkeys link selector was ported to the mouse? You could hold down the left mouse button, and this would label all the links with numbers, and highlight number 1 (or 0 if you prefer). Then when you spun the mousewheel down it'd move to the next one. Spinning it up would go to the previous link. Finally when you released the left mouse button, it'd open the selected link.
So how it'd play out is you'd hold left, see you want link 11, spin the mousewheel that many times, and then release. I suspect you'd learn how far the numbers feel over time, so it'd get fairly precise (and you can adjust by spinning back).
No idea how practical it'd be.