philc / vimium

The hacker's browser.
https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb
MIT License
23.24k stars 2.48k forks source link

Consider rework `g0`'s behavior: it should not jump to pinned tab #3770

Open Dentrax opened 3 years ago

Dentrax commented 3 years ago

As we all know, currently behavior of g0 and g$ is that:

g0      go to the first "pinned" tab
g$      go to the last "unpinned" tab

There is a slightly small consistency problem here, i.e. this case: We have just one pinned tab and 500+ unpinned tabs. In case we press g0, I would expect to jump fist unpinned tab, but the actual behavior is it jumps the pinned tab. This makes a bad UX since we have to scroll all 500+ tabs in the browser to find the first tab. (May takes ~15 sec, indicates that the g0 key is not working as expected.

So what if we had 500+ pinned, 500+ unpinned tabs? I didn't think about it yet, but should we make a new keybinding for this?

g0      go to the first "unpinned" tab
g1      go to the first "pinned" tab
g$      go to the last "unpinned" tab

But this keybinding may brings an idea: "g binding count may goes to 0 to 9, maybe there never will be such a g2 binding." Consistency problems?

P.S: Pinned tabs must be just before those unpinned ones, in any browser, any environment.

JustAShoeMaker commented 1 year ago

Was about to make a similar request to @Dentrax . Either a sequence to jump to the first unpinned tab, or some alteration of the behavior to distinguish between the two categories.

Right now, I have to recall that 7g0 is my first real tab. g0 is of course my email tab and in the pinned group.

The mapping mentioned by @atsalolikhin-spokeo could work, but really looking for a cleaner more consistent approach since 15g0 also works well right now and the solution above is about remapping the first 9,