Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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


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

Or Vimium users could RTFM.


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?


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.


> 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.


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.


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.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: