213 comments

[ 3.7 ms ] story [ 149 ms ] thread
This comes up every once in a while on HN. I've been using vimium for over 10 years now since I did an internship at the same company as the guys who created it. Can't imagine browsing the web without it. Works especially well with HN and those small link targets :)
I’m a big fan of vimium! Works great and consistent
Tried using this recently. Even though I use vim daily I haven't made good use of Vimium yet. In fact I found it more annoying because it naturally breaks sites that I do know keybindings for like YouTube.

Overall I don't want to come across as critical of of something that just needs a little effort to use, more of just setting expectations.

Normally this would be less of an issue but for me, I ran into this problem while on my rowing machine, and I didn't want to stop to fiddle with keybindings.

You might already know, but if you click on the extension icon, you can specify which pages to disable it for. I disable it in pages that have useful keyboard navigations. But it's great for things like HN, where I can use J/K to navigate, then hit F and open a link I want.
I've used this in the past, and I've found that it's not a 1:1 replacement but rather an add-on to my browsing habits. It's great when having lunch with greasy fingers, I can do most things with one pinky press!
The few times that happens to me I just hit “i” to enter insert mode and try again.
I actually like using "i" to toggle enabling/disabling the extension, more convenient and powerful imo
It's very easy to add exceptions for individual sites, for example letting youtube have f for full-screen. You just click on the Vimium icon on toolbar and it pops up the dialog for that. You can do it in 5 seconds even while you are rowing.
I'm not seeing a ":" command bar in any demos, is there one?

I use Qutebrowser and it's fantastic, I even wrote some userscripts for it which are probably easier to build than web extensions.

IIRC Vimium was the one that was pure hotkeys, no commands. Waaay back when Vimperator died with Firefox Quantum, I tried a bunch of different addons that still worked and Vimium was probably the least powerful of them.

Currently I use Vim Vixen[0]. It's still nowhere near as feature-full as Vimperator was, but nothing can be nowadays. My only real complaint about it is how link hints don't let you complete with the link text like Vimperator could - it's the one thing that as far as I can tell, no replacement supports even though it's a whole lot better.

[0] https://addons.mozilla.org/en-US/firefox/addon/vim-vixen/

Tridactyl does let filter links like that with `:set hintfiltermode vimperator` and `:set hintchars 1234567890`.

Vim Vixen unfortunately has been unmaintained since May [1]. If anyone knows ueokande personally, could they let him know that I would be happy to help get some releases out? I sent an email yesterday but I am not optimistic as it seems like quite a few people have tried over the last few months.

[1]: https://github.com/ueokande/vim-vixen/pull/1437

Oh nice. I had to make a few other tweaks, like making j/k not scroll as far, but it looks like I'll just be using Tridactyl now.

Edit: btw the hintfiltermode Tridactyl calls "vimperator-reflow" is what Vimperator actually did

this is perfect for my usecase in firefox and mainly text only browsing, vim is perfectly designed to use the limited keyboard options and even more limited cognitive load humans can handle [alt shift ;) you know what i am talking about]
I also recommended vimium-c (https://github.com/gdh1995/vimium-c). It's like vimium on steroid: with a bunch of additional useful features.
Came here to make the same recommendation, so just making this comment to second yours.
Any specific things you do with vimium-c that are must have features to switch over?
I use caret mode, visual selection and P quite often to search for the text in visual selection in a new tab with the preferred search engine. I also like yf for yanking a link to clipboard.
Nice feature set especially the Contextual keymapping. Can think of some interesting use cases it enables.

Offtopic:

The section "Declaration for Applicable Regions" from ReadMe, this is the first time I've come across it.

Should it be read as a disclaimer or an opinion?

Yeah sorry I'm getting anxiety when I see that many Chinese characters in a README.
How dare they not speak only English on your Internet.
For those looking to replace the mouse at the OS level on macOS (similar vibe), Scoot is pretty good for that... https://github.com/mjrusso/scoot
This is the very thing I’ve been looking for since vimac became proprietary (homerow). I was using Shortcat, which is also a proprietary software and I was having a little bit of concern mainly about security, but this software seems to solve the problem. Thank you for sharing.
Is there a Linux version? It looks very handful
It certainly would be but looking at the options tells me that they're hooking into MacOS's widget libs and on Linux there's just so many. What I get by with to go mouseless is Tridactyl for Firefox, warpd for when I need a pointer, and when I absolutely, positively need a mouse, mouse emulation on QMK keyboards never fails me. I only need it these days for dealing with MacOS outside of my Linux VM. I also use keyd in order to remap keyboard shortcuts.

https://github.com/rvaiya/warpd https://github.com/rvaiya/keyd

Why in the world are those links side by side?

On linux, you can just install one of the DEs that are keyboard driven. Rat poison is one. I used that with Conkeror (a fully keyboard driven browser with emacs keys) for a long time.
There's also good old i3, which has vim-inspired key maps by default iirc
Is that really practical? In the video it looks not very useful to me as it does not seem to be very efficient. The mouse is so integrated into MacOS it looks hard to efficiently replace it. Are you or is anyone else actually using this regularly?

Also, I think the other mentioned alternatives look quite similar to that regard.

Anything like this for Windows?
I used this everyday for the past 3 years. can't imagine browsing without it
Third this, use it every day.
I used Vimperator on Firefox about 10 years ago. Back then it was fantastic, but I think the add-on environment has changed in FF (WebExtensions) since then and add-ons aren't as powerful.

I've used Vimium on Chrome. Every few years I get excited, install it, feel 10x more productive, and then a few days later uninstall it.

As I recall, it doesn't work on the New Tab page. It doesn't work if the address bar is in focus. I believe you have to wait for the page to fully load before you can use it.

Most annoyingly, a lot of websites have custom keyboard shortcuts, so you have to blacklist them in the Vimium config. Eg Gmail, Miro. Then you need to remember you can't use Vimium on them.

None of this is their fault in any way, of course. But it does make Vimium a bit annoying to use for me anyway.

> Most annoyingly, a lot of websites have custom keyboard shortcuts, so you have to blacklist them in the Vimium config.

No, you just need to enter insert mode. Hit `i`, then all the keyboard shortcuts for the site work. Exit insert mode with escape or ctrl+[.

:mind-unrectifiably-blown-emoji:

Thanks for this, this changes everything. Namely, I can re-enable most commands that I've globally disabled. Who woulda thought the path to enlightenment would be to simply RTFM.

I can't let vimium go even as an emacs user ;)

As someone else replied, insert mode.

What I have noticed is that the bottleneck in editor vs. browser is different, which explains why I don't use Vimium anymore either.

In the editor speed matters: speed is a bottleneck. For example, if AI comes in writes a paragraph based on the function title, "bubble_sort_array", that's great, because now I've sliced 2 minutes off the 3 minutes that would ordinarily take.

But in the browser, time is cheap; in fact, that's largely why I used the browser, to luxuriate in the time it takes to, say, read an article, or write a long comment. I'm there to take it slow, to escape the tyranny of efficiency. So when I'm there to relax, shaving 4 seconds off a 10 minute reading time is irrelevant.

So I use shortcuts in my editor, but not my browser.

I think i installed some other tab page so it works in new tabs for me.

For address bar being focussed, a tab will take you to to the page content.

The one thing I find most annoying (which isn't vimium's fault) is the lack of j/k scrolling on pdfs.

Well, I never want the site's keybindings anyways. They are without a fault, always worse than the general-purpose navigation offered by the extension (I use Surfingkeys, but it's the same idea).

Unfortunately, the extension cannot always overpower site's key-bindings, and that's where it sucks.

However, there's one exception to that rule: every now and then I need to work with a VNC in the browser, and in that specific case Surfingkeys takes over and makes it unusable. Well... it's annoying, but, really all it takes is clicking the extension's icon next to the address bar, and then clicking it again once I'm done with the VNC.

And yes, not having access to browser's chrome (that the address bar and new tab etc.) is a disadvantage that's due to how browsers currently work is impossible to work around.

Extensions do offer a kind of substitute, but it can never be 100% (i.e. Surfingkeys have a way to input new URL or edit current URL w/o interacting with the address bar, or a way to select a tab w/o interacting with browser's chrome, but if you happen on a page like settings or something similar, the extension cannot work there).

You can use <Alt-s> to disable SurfingKeys for that specific website instead of disabling it globally.
There isn't any specific site to disable. It's just an IP that was allocated randomly to my cluster on the VPN I'm connected to. But, sometimes they also have domain names because I need that. Anyways, my point was: it's not that much of a burden really.
I see, just wanted to help if you weren't aware of the shortcut. It took me a while to discover it on Firefox because <Alt-s> is used to toggle fingerprint resistance. That's why I remapped it to '<Ctrl-.>' in my setup.

    // privacy.resistFingerprinting breaks alt keybindings
    api.map('<Ctrl-.>', '<Alt-s>');
    api.unmap('<Alt-s>');
SurfingKeys remembers disabled websites so it can be a time-saver.
I have vimium configured to just use f, F, and alt+j and k to move between tabs. That's all I really need and it doesn't tend to conflict with the web sites I use.
Love Vimium! It's easy to ignore sites where you want to use their native keybindings, which is nice.
I get a lot of value out of this. I especially like that I can open a link in a new tab, just from the keyboard
I've been using Vimium for quite some time now, and while I like it, there are two things which annoy the hell out of me.

Vimium disables the browser's backward-forward cache (by listening to the "unload" event), causing navigation to be much slower.

There is also no way for a website owner to warn a Vimium user of conflicting keybindings. I run a website which implements Vim keybindings and several of my users complain that it doesn't work. I have to remind them to disable Vimium. This issue has been open on their GitHub for more than 4 years with no end in sight.

At least in firefox, I'm not sure that's true. I go back pretty frequently (maybe you mean specifically with vimium back navigation) and get yesterday's cached HN front page, for example.
The bfcache doesn't just store cached resources like static files but the entire javascript heap. It makes back button action instantaneous.

I've observed the effects on both Firefox and Chrome and it's like day and night.

On chrome you can even test it using Devtools > Application> backward forward cache

As the website author, you can see which extensions the client browser is running, no? Wouldn't that make it your responsibility to detect then disable your custom keybindings rather than the users's?
> As the website author, you can see which extensions the client browser is running, no?

No, not really. Not unless it specifies certain `web_accessible_resources` which you try to load - but that's a bit of a hack, needs to be done on an extension-by-extension basis, and won't even work for all extensions.

I wouldn't think so. There are infinite ways for people to customize their browsers; it's not reasonable to expect website developers to account for them all.

Plus in the case of your parent, their website implements vim keybindings, so basically all of them are going to conflict with this extension, and it's going to be pretty useless if they detect that situation and react by changing all of them to something non-standard.

It's not possible to detect the presence of Vimium.

https://github.com/philc/vimium/issues/2399

I distinctly remember when I first got on-boarded to Superhuman their app detected Vimium running and asked me to disable it for their site.
How long ago was this? There used to be a way to do this for earlier versions of Vimium but that doesn't work anymore. Very interested in knowing if it's still possible. Will check out superhuman.
I work at Superhuman. We used to have code to detect Vimium, though we evidently we removed it very recently, while working on something tangentially related. It was working but definitely finicky over the years.

The initial way we checked for it was looking for document.body.matches('*[_vimium-has-onclick-listener]') but apparently that stopped working in 2018. We then used a variation of this code: https://github.com/hackape/Detect-Vimium/blob/master/detect-... which seems to work still.

> There is also no way for a website owner to warn a Vimium user of conflicting keybindings.

Or Vimium users could RTFM.

The home page doesnt make it obvious but there's a port for Firefox too.

It does not compare directly with the old vimperator addon but it works great for regular browser navigation.

The only occasional glitch I saw was in UI for adding site exceptions.

Tridactyl is the best Vim-control-plugin for Firefox, hands down.
Trydactyl is mint for Firefox VIM experience
I switched from Tridactyl to Vimium a while ago. Tridactyl is powerful and feature rich but more complex. Vimium does everything you need for normal usage and is super simple to set up (the default config is a very good base and you'll probably only end up making minimal changes over time).
Been using vimium for years. I have gotten so used to scrolling pages at different speed by pressing keys that whenever I am using someone else's computer I have to fight muscle memory. I also use it for clicking links through keybinds, but really the custom up/down is the main usage.

The occasional website having its own keybinds never stops being annoying, but it's easy to disable the extension per site

100%. Scrolling with arrows/mouse instead of hitting j or k just feels uncomfortable.

Maybe there's something to be learned by browser designers. It's not just the fact it's on the home row and muscle memory for Vim users. The default speed for down/up arrow scrolling and lack of smoothing is just not the same.

In vim, I usually scroll with ctrl-u/d?
Same but reading on the internet is not like scanning source code files. I tend to read much more linearly and the j/k scroll speed is fast enough. But obviously that's still an option.
That also works in vimium afaik, just a quicker scroll instead of jumps though.
I think most browser designers expect you to use the trackpad or a mouse wheel
> Scrolling with arrows/mouse instead of hitting j or k just feels uncomfortable.

Page Up/Down?

This looks amazing, but installing the Firefox extension I am worried about all the permissions it asks. I am surprised how comfortable people are signing off on these permissions. How do people at HN put these security worries to rest?
I guess for me it’s a combination of:

* The extension has a genuine need for the permissions

* It’s an old extension at this point, with known maintainers with names and faces

* I really, really want the features

This (your fear) is a result of bad policy by Firefox. This is why a lot of useful add-ons or plugins died, and, overall, Firefox became a shittier browser.

Neither Vimium nor SurfingKeys don't hold a candle to KeySnail because back in the days add-ons worked you could control the browser's chrome as well as a bunch of other non-HTML elements.

Today, you cannot even use browser extensions to close a browser window if the page didn't load in it.

These tools were intended for "power users", who could establish for themselves if the piece of code they want to use is doing something malicious or not. Also being an easy way to extend the browser without a need to recompile it and a need to understand a huge project with a ton of infrastructure... flushed down the drain.

This reminds me about how Alan Key said in one of his interviews that if a motorcycle was invented today, it would've been outlawed right away due to safety concerns.

Auditing each tool by ourselves would cost a lot of time. Not to mention that it would not be a one-time thing. At each update, another check would be required for "peace of mind".

Curious to discuss if there is a way to trust these extensions without establishing ourselves that the code is not harmful.

But you don't audit it entirely by yourself. Nor were you expected to before. It's the same idea as with other programs or add-ons you use. Don't you use some add-ons in the code editor you use not authored by the authors of the editor itself? And why would you believe the authors of the editor in the first place?

Of course you need to do some due diligence, but it isn't anywhere near as taxing as you seem to think.

Security is worthless if it prevents you from doing useful things. Given a choice between a chance of security breach and not being able to do the useful thing at all, in the circumstances like using a Web browser, I'd definitely choose to have the useful thing w/o security.

It seems it would depend on the persons risk tolerance.

And assessing risk of freely available open source software is still difficult, you either rely on all the authors being standup citizens, or on the bulk of the reviewers to be truthful and knowledgeable.

It's open-source, about 10K lines of good quality self-contained JS code with no obfuscation so it's not that hard to go through it yourself. It moves fairly slowly these days so once you have done this once it's easy to stay on top of the changes.
I once used Vimium and some bug caused the extension to permanently close my hard-earned ~500 tab collection. So while I feel like I lost a lot, I've never felt so much at peace since either.
Holy shit... 500 tabs? I thought I was bad about accumulating tabs but had no idea ~500 was even possible. I'm trying to even but I literally can't--You might say "I literally can't even".
Honestly, I don't know how you all stay so low, I'm down to 1172, and getting it even that low feels like a bit of an accomplishment.
What are you doing with these tabs? Are they a reading list? Things like gmail that you could reopen whenever?
Two things: tabs as bookmarks, and groups/windows of tabs relating to different projects so you can easily pick up where you left off.
Zen. And MaxTabs. I limit myself to 5 tabs by force. Anything more, it means I'm becoming scatterbrained and need to revisit what I already have opened and think more linearly rather than in a spastic manner.

I tried saving tabs for reference material, but I prefer something simpler. I shutdown my PC at the end of the day. I have a dump.txt where every link that might get needed tomorrow gets pasted.

This is intriguing. Do you happen to have a blog post or similar documentation about your process?
I don’t understand what’s so complicated about this. I’ve also never allowed myself to have more than 5-6 tabs at a time because it just seemed reasonable. I’m not sure what I could possibly be doing that requires more tabs. I have an organized bookmark folder structure for things I absolutely need to get back to/visit regularly. I’m using my browser for no more than a couple streams of thought at any given time.
That's a pretty aggressive and unhelpful response. While your brain might be tuned to perfect tab management, I've worked with very talented people who hang on to tons of tabs (amongst other idiosyncrasies). Some want to change (I deign to consider myself one of these people), others don't and still go on to be productive, awesome developers.

You seem to have mastered pure focus which is an amazing, coveted trait, but we don't all have it.

I'm not trying to come off as aggressive. It's that I don't understand what more than 15 tabs could realistically be used for. I don't think I could find a use for more than 15 tabs if I tried at any given time. At work as an engineer I usually have a tab with Bitbucket, at most 3-4 tabs for pages/documentation I'm reading, a tab with Jira. Maybe I have a tab or two on Youtube to put something on in the background. So as I'm reading comments about people claiming to have > 1000 tabs, I can't comprehend what's going on in that situation. The only way that could happen is if I simply never closed tabs when I was done with the task I was looking at it for. It would never make sense to not close it if I don't need it because after 15+ tabs being open it becomes too hard for me to find anything because the tabs are so small. I'm incentivized to close tabs when I don't need the information anymore because the browser becomes unusable quickly. I know how to get back to just about anything I was looking at and if it's important enough that I'm revisiting it often it gets bookmarked.

It's less aggression and more disbelief/shock because I don't understand how it would be possible to use a browser with more than 15 tabs open.

I'm not who asked, but I can explain my own and other's perspective: don't passively accumulate detritus. If you want to remember something , you must write it down or take a note, just like if you were in school. Don't just "throw another tab on the pile". That's like a .txt file full of links you're just pasting and pasting into. Are you really ever going to go and review those links?

Folks who successfully have huge numbers of tabs and who really love that, in my experience, are treating their tabs like a different kind of bookmark, or they just have a ton of bookmarks. They'll usually use a categorization feature of some kind in order to organize their tabs just like someone organizes a library. Whether you're using tabs, bookmarks, written notes, whatever, all these systems in general are just some form of active tracking.

If you're not actively organizing and tracking though, why not free yourself and merely close your tabs aggressively? It's pretty easy, just uncheck the "Re-open tabs on startup" or the equivalent in your browser settings, then just click the "close" button on your window with all your hundreds of tabs. Let them go, and free yourself of worrying about them!

Besides, if you REALLY need them, you've always got your browser history anyway ;)

This. I used to be one of those who opens a tab to read and address this queue later on. I realized it's not efficient (at least for me) because things keep adding up and I sometimes have weeks/months old tabs that I never got to. So I started using a simple task management stuff and it's made an amazing difference for me. Granted that it might be a bit more work, but overall I feel more productive and organized.
Kudos. If I need to do something or return to something it becomes a card in Trello, not a tab which I always need to evaluate if I need it open or not, is it important or not, what did I want to do with this information last time I saw it etc.

And Trello card is an action item which will eventually get to the "DONE" column, will be decomposed into actionable items or will be deleted/archived during the next review event.

Yeah, I've tried the Trello board, and writing down notes, org-mode and other and I have a large graveyard of all of those that get lost. I think for me, tabs remain successful because they are ever-present and insert themselves into
I open tabs in groups in Sidebery. For stuff you plan to return to they are better than bookmarks because there’s no switching between bookmark and tab lists (you’ll always have tabs anyway) and clicking a tab switches to the tab and focuses it’s group of related tabs in the list rather than opening another tab.

I also don’t have to close them to return later or curate them — more time and thinking saved. Sidebery unloads tabs in collapsed groups so even though I have a few hundred open across two Firefox windows, probably less than 20 are consuming RAM and other resources.

I don’t really use bookmarks. I don’t think they solve any problem very well. Both tabs and notes/documents with links in are better.

How do you find a specific tab out of those 1172 though? I assume some might be quite old and any tab-finder isn't going to search inside the tab itself?
One Feature of vimium is maybe T which pops open a box that searches title or url (though as you say I doubt it searches content).

I keep my tabs low and there's no way I'd find anything with that many tabs open but thought I'd call out the feature given the context of this discussion.

I have once went upto 1674 in Firefox.
Is there a count somewhere?
In Firefox: about:telemetry#scalars-tab_search=tab
I have 7-8000 on one machine, multiple thousands on at least two others. Session Buddy + either Auto Tab Discard or The Marvellous Suspender means I don't lose any even in crashes and it doesn't use too much RAM.
Also my exact setup! Have hundreds of tabs and in between Session Buddy and The Marvellous Suspender, I haven’t lost one yet.
I thought Suspender had been taken down due to some change upstream that introduced trackers or something else shady. Great to see it got forked. I’ve been using Auto Tab Discard but it doesn’t feel as effective on diminishing RAM usage.

Has that been your experience as well?

That was The Great Suspender. Marvellous is a fork that seems to work just like the original. I actually have trouble with it with more than ~2000 (3000?) tabs. It gets unstable and slow. Auto Tab Discard doesn't have that problem, but does occasionally disappear and stop suspending tabs until you reload it.
That used to be my solution for managing tabs in chrome. Every few months it would just crash, I'd lose all my tab, and I'd think "probably for the best". Now chrome is a lot more stable :/.
This causes me some level of anxiety. An important end of day ritual for me is to close every tab I'm not 100% sure I will need the next morning.
My approach is to use Firefox Nightly and restart it whenever it prompts me to do so. Keeps me at a low tab count :)
is this some kind of modern-day hoarding? how would you even find that useful? why don't you use bookmarks for the earliest ones?
It's interesting, because i've asked many people who have massive tab counts this same question, and it seems the overwhelming answer is that bookmarks are harder to manage than tabs.

It takes more time to bookmark a link, than it is to open it in a new tab. The positioning of the tab is an indication of approx. when that tab had been opened, and the other tabs near it is likely similar in subject matter, or is related somehow.

It acts as a queue to be processed as well.

And for a lot of browsers, the auto-preloading means you can have the tab "saved" and you can view it, even if it took long time to load. It's a form of "offline" viewing.

If bookmarks can achieve _all_ of the above, without having the need for the user to do anything extra, it would actually replace tabs. But so far, i've not seen anyone switch.

I'm a "tab hoarder" and you've hit the nail right on the head.
> The positioning of the tab is an indication of approx. when that tab had been opened, and the other tabs near it is likely similar in subject matter, or is related somehow.

Add in tree style tabs and you get this relationship on steroids - new tabs are automatically a child of the source tab, and you can expand/collapse the tree.

Thank you for this, it's something I never understood.

I have to shut down everything at the end of the day and start from a clean reboot the next or I get overwhelmed. I think it's sort of my way of unloading work stuff from my brain at the end of the day and loading up again at the beginning of the next.

it is. i am one of those who have atleast 100 tab on any workday, more on my personal system. i also use bookmark service like raindrop that have tagging, etc than simple folders.

Main reason for keeping tags are they are a constant reminder of topics to look into. Kinda like postits on your monitor. If I put them away using bookmarks I often forget about them and neder get to them. I have folders with hundreds of links I wanted to look a year back and still haven't.

I do clean out tabs occasionally when I am done with a topic but I mostly only bookmark when having to shutdown the system.

Isn't that just stressful? Are you ever going to look at more than 20% of the things on your backlog?

My approach is to bookmark things and then if I feel like it's time to read up on something or just a good time to work on the reading backlog, I'll just pick whatever seems suitable at a first glance.

> Isn't that just stressful?

No, why would it be? It's sort of my curated list of things to check out when I have a free moment, just like HN is. HN curates the Internet for potentially interesting things for hackers, and I further curate from that (and other sources) for things that interest me, and have them as open tabs. It's no more "stressful" than knowing the fact that there are thousands of interesting HN links on here. They're just options of potential things to look at, not tasks to get through.

I use bookmarks as a more persistent thing, for things I know will be of interest to me long term. Some of these tabs might go into my bookmarks, but many others are interesting enough to look at/read through once, but not worth adding a bookmark for.

Do you have a way of partitioning off what you're currently working on from the rest of the queue? I feel like I would constantly get distracted with hundreds of potentially interesting things sitting at the top of my screen.
Oh, TreeStyleTabs is a crucial element of this, I'd definitely go mad without it. The stuff I'm currently working on is generally at the bottom of that vertical sidebar, and I rarely venture beyond that area when I'm actively working.

The grouping of tabs into trees also helps with keeping them (pretty much self-)organized. Vimium's "search open tabs" shortcut is also very useful, if I need a specific tab right now.

As someone guilty of same (I've got just over half that many tabs open now: 273), I might be able to explain.

Links rot. If I see something on the interwebs that I want to store or remember, I usually copy the pertinent information somewhere else. Be that Anki, or org-mode, or somewhere else. I leave the tab open until I get the free time to go back and copy the information somewhere.

Looking at my open-longest tabs, it seems I've got some Magento documentation open from last summer. I should go clean that up. )) If these were bookmarks, I would absolutely _never_ get around to filing the information away in a useful place.

It might have been a bit of a hyperbole.
If you can't remember all of those 500 tabs, did you really need them ?
(comment deleted)
my solution to beat the tab accumulation problem is to have firefox simply close all tabs, clear browsing and download history, clear form and search history, and clear cache upon the user choosing to close the program. if the browser or computer crashes the tabs and everything else still exist. if a site meets your interests, bookmark it. note that cookies remain but are usually cleared periodically. also you can setup a folder of bookmarks, or a new tab page, that you can open up everyday and check the websites you want.
I love being able to easily navigate between tabs (a/J and s/K for me), go back/forward (h and l), open the current tab in a new window, close the current tab, etc. though (of course) the killer feature is "link highlighting" or whatever it's called. You can also enable "link highlighting" where selecting a link copies the URL. I also find that occasionally useful!

I can't use the web without vimium.

I also found it useful to have a link bind that just focuses the link element, often that can open up hover menus or trigger other focus/hover CSS changes.
oh, that's neat! I'll try that.
I used to be a loving VimFX [0] user. It had intelligent link hints (essentially, links it thinks you are likely to want, e.g. because they're big, get single-key shortcuts). The scrolling was actually native, as in equivalent to hitting the arrow keys. I don't think any of the other Vim emulator plugins ever replicated that. Vimium doesn't, Tridactyl doesn't, and Vim Vixen was horribly broken.

Apparently VimFX still runs via some hacks on modern Firefox versions? The last release was even in 2022. Maybe I should give it a try again.

[0] https://github.com/akhodakivskiy/VimFx

What do you miss about native scrolling?

IMO the scrolling in Tridactyl is better than native as it can work even when the page has put focus somewhere daft (like a pop-up).

It's more about 'feeling' native than actually being native. I managed to reinstall VimFX and it doesn't quite scroll like the arrow keys, either. But its scrolling speed still feels more natural than either Vimium or Tridactyl, although it's a bit slow.

Tridactyl's huge jumps are annoying to me, as is Vimium's excess smoothness. In Vim, I hit j once to scroll one line, same as <down>.

> Tridactyl's huge jumps are annoying to me

You can change that easily with `:bind j scrollline 1` and `:bind k scrollline 1` :)

The default bind was a conscious choice to break with tradition with Vimperator because everyone I knew rebound j/k to scroll further.

I'm glad you got VimFx working though!

I'd suggest to create an issue on the Vimium repo if the big button heuristic isn't implement / didn't get suggested yet.
I find Surfingkeys to be much superior to vimium. Works consistently in all sites. https://chrome.google.com/webstore/detail/surfingkeys/gfblio...
For the privacy-conscious interested in SK, it may be worth a read of this GH issue: https://github.com/brookhong/Surfingkeys/issues/1796

I empathise with the author wanting to make a buck but it's hard to reconcile the approach he took with the level of trust granted to this extension.

it looks more naive than malicious ... I just donated to support him.

But I agree, there is so much trust with extensions like this it isn't even about intent.

(comment deleted)
For those using firefox there is tridactyl available as others have commented as well. They've gone a step further introducing native messaging [1][2] which opens up an endless ways of interacting with the underlying OS which makes implementing all sorts of useful day-to-day functionality such as personal automation a joyful breeze.

For example, saving the current page in a local file can be as easy as: tri.excmds.exclaim_quiet ('echo "' + document.location.href + '"' > $HOME/notes')

Sky is the limit given that you can interface with any page with JS and then pipe and process the output with any system utility or system context.

A simple example for demonstration would be copying the contents of the body tag, piping them to a readability[3] util and have the output saved to a local vault.

Or have a video played with mpv with a press of a button since you can invoke any of these functions be it custom or built-in targeting any element the same way you would follow a link by hinting.

Here are a few other, pretty interesting use cases as seen in examplar custom user configurations taken from their github wiki[4]

alias playAllVideos js tri.native.run("mpv --really-quiet --ontop --keepaspect-window --profile=protocol.http " + Array.from(document.querySelectorAll("a, iframe, video")).reduce((s, e) => {let r=(/^https?:\/\/((www.)?youtu((\.be\/)|(be\.com\/((embed\/)|(watch\?v=))))[^ ]+)|(.+\.webm)$/);let l="";if(e.tagName=="IFRAME")l=e.src.match(r);else if(e.tagName=="A")l=e.href.match(r)||e.innerText.match(r);else if(e.tagName=="VIDEO")l=[e.currentSrc?e.currentSrc:e.src];console.log(l);return s+(l && l.length > 0 && s.indexOf(l[0])<0?"'"+l[0]+"' ":"")},""))

alias gitclone jsb -p tri.native.run("git clone --depth=1 '" + JS_ARG + "' /home/me/prog/" + JS_ARG.split("/").slice(-1))

alias rsssave jsb -p tri.native.run('cat >> ~/.config/newsboat/urls', JS_ARG + "\n")

alias openGithubNotifications composite js Array.from(document.querySelectorAll("li.list-group-item > span:nth-child(1) > a:nth-child(2)")).map(e => e.href) | jsb -p JS_ARG.forEach(url => tri.excmds.tabopen(url))

Edit: I assume native messaging has security implications you should probably consider if the browser is running directly with your system without any means of isolation like sandboxing with bubblewrap or better running under a virtual environment.

[1] https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web... [2] https://github.com/tridactyl/native_messenger [3] https://github.com/cixtor/readability [4] https://github.com/tridactyl/tridactyl/wiki/

Fantastic! Thank you for expanding on your use case.
See also qutebrowser for a more immersed experience, or tridactyl if you're Firefox.
I used vimium to get here and to type this messsage!