Vimium – The Hacker's Browser
46 points
10 hours ago
| 17 comments
| github.com
| HN
weinzierl
3 minutes ago
[-]
I wish there was a browser as secure as Chrome but hackable without restrictions.

I do not think this is a contradiction, at least not from a technical perspective. I am willing to take the responsibility for all actions and modifications I do to my own browser but I need it be secure against all influences out of my control. And I need it come with secure defaults. To be competitive it needs to come without awkward restrictions that e.g. an external sandbox would impose.[1]

I don't think projects like qutebrowser, LuaKit and the many others fit that definition. Not being mainstream means by definition not getting as much security scrutiny as the dominant browsers.

What we really need is a hackable mainstream browser for people that need protection from the bad guys but not from themselves.

[1] I personally would make the concession that supporting a reasonable subset of the web was fair game.

reply
Kevin-Xi
17 minutes ago
[-]
I've been using it for years and am quite happy with it. I also write some bookmarklets and userscripts to go along with it. For example, I have a bookmarklet for my bookmark service called BM. When I want to save a webpage, I type 'b' (to open bookmarks) -> 'bm', and everything is ready.
reply
lvncelot
2 hours ago
[-]
For Firefox, I'm using Tridactyl[1] and am very happy with it, hint mode is an absolute god send.

[1] https://github.com/tridactyl/tridactyl

reply
kqr
1 hour ago
[-]
I'm still a little sad Vimperator – the precursor to all of these – does not work in modern browsers because it was so good but Tridactyl is certainly as close as one is allowed to get with WebExtensions.
reply
_giorgio_
40 minutes ago
[-]
I had a lot of problems with that. The "disable on some domains" functionality was broken for years. Probably they fixed it by now. Vimium worked and works better.
reply
hansvm
1 hour ago
[-]
If you like vimium, or the idea of it, consider giving qutebrowser a spin. Chrome hampers extensions in a variety of ways (e.g., not being able to use vimium bindings on any "internal" pages), and a fully fledged browser makes the experience much more cohesive.
reply
yasser_kaddoura
1 hour ago
[-]
You can extend Qutebrowser with userscripts [1].

For the Lisp fans, Nyxt [2] is a decent choice as well.

[1] https://qutebrowser.org/doc/userscripts.html

[2] https://nyxt.atlas.engineer/

reply
yashasolutions
23 minutes ago
[-]
nyxt would be awesome when it has a decent browser engine. For now you cannot use nyxt on most regular websites (youtube is broken most of the time), They are working on moving it to chromium engine if I understood correctly. But yeah when it will be ready, it's the browser I waiting for the most.
reply
mikae1
3 hours ago
[-]
I'm sorry but this is near unusable since the death of XUL and introduction of WebExtensions. I was a truly avid user of VimFX which did the same thing. Vimium these days does not work when a page hasn't finished loading and it doesn't work on blank pages (about:blank) or any other "system page" (like the preferences or addons). The "o" key can no longer highlight the address bar but brings up a non-native address bar that does not find my bookmarks as it should.

Imagine you couldn't click on another tab with your mouse pointer while the current active one is loading. Yes, it's as terribly frustrating as it sounds.

In the XUL days I could even use vim shortcuts to access every button in the Firefox UI!

Luckily there is a solution for now. VimFx[1] is still being updated and works with the LegacyFox shim!

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

reply
bramhaag
8 minutes ago
[-]
Keep in mind that using LegacyFox is not a silver bullet. It will disable sandboxing and add-on signing, which will impact the security of your browser.
reply
forgotmypw17
2 hours ago
[-]
Have you heard about qutebrowser, Luakit, and Nyxt?

I like qb the most, as it's fairly stable and fully-featured. It offers full keyboard control, and many cool features like bindings for host-granular permissions for js and images, and is also scriptable. Built-in decent adblocker.

The main annoyance about it for me is it doesn't come with DRM, but it could also be seen as a feature, because it saves me a lot of time I'd otherwise watch arguably crap content.

reply
mikae1
2 hours ago
[-]
> Have you heard about qutebrowser, Luakit, and Nyxt?

Yes, but neither support extensions AFAIK. Not ready to take my browsing back to a pre 2004 era. :)

reply
rauli_
1 hour ago
[-]
Completely agree but it's the best we got at the moment if you want to use the non-XUL version of Firefox.
reply
_giorgio_
37 minutes ago
[-]
All addons are disabled on system pages.

I've never experienced your problems, Vimium works on any tab, indipendently from the others.

I don't understand your glitches, really.

reply
Crosseye_Jack
44 minutes ago
[-]
Bloody typical for a project with vim in the title, no instructions on how to quit!

Joking aside, I’ll have to give this extension a spin.

reply
azangru
1 hour ago
[-]
The first commit dates back to September 2009. That's fifteen years ago. Wow. Made me check when Chrome was first released. September 2008, as it turned out. So this extension was started just one year into Chrome's existence.
reply
notorandit
1 hour ago
[-]
Hacker's BrowserExtension.

Vimium is not a Bowser on its own. Not yet at least.

reply
shiroiushi
35 minutes ago
[-]
>Vimium is not a Bowser on its own. Not yet at least.

It certainly doesn't look like a turtle.

reply
bilekas
1 hour ago
[-]
I've been using this for a while now with brave and it's indispensable really. There are some weird behaviours sometimes but it's site depending. AWS control center comes to mind.
reply
ugh123
5 hours ago
[-]
This has been a great extension but i'm always nervous about Chrome extensions and their seemingly global access to everything and some dev's willingness to sell to malware devs.

It would be interesting if Chrome let you point an extension to a github repo (and tag or commit hash) and pull source from there.

reply
delvinj
4 hours ago
[-]
You can do this by enabling developer mode in chrome://extensions, which lets you install from a directory.

You lose automatic updates though.

reply
bpev
3 hours ago
[-]
yeah the permissions and ecosystem are scary. I have a very small extension (1000-ish users), and even I get "monetization opportunity for your extension" emails maybe... every other week?

Sometimes I feel like the only reason it's not a platform-breaking problem is that most extension devs make enough money from their day job to not care about a quick buck.

reply
anthk
42 minutes ago
[-]
Nyxt it's the truest hacker's browser.
reply
bayesianbot
4 hours ago
[-]
I've used this and other similar extensions but always them being an extension makes for a slow and unreliable experience imo. Pressing shortcut keys just might work depending on the focus and other current state. Going back to qutebrowser after trying out these extensions feels so fast and reliable in comparison - when you press a key it will instantly work like it should.
reply
rendaw
4 hours ago
[-]
I just looked and qutebrowser is basically a webview right? I've played with webviews a little and it didn't feel much different than other injection-style scripting. What would make that better than the extension?

FWIW I tried the vimium or vimperator before and found it clunkier than I expected, so I can believe qutebrowser is better.

reply
forgotmypw17
2 hours ago
[-]
It's a lot more than a webview in the sense that keyboard is a first-class citizen, everything is accessible via keyboard, the bindings are much more reliable and responsive, and many more features make it a predictable and stable experience.

For example, qutebrowser supports a hinting mode where I press Enter to activate a link after selecting it with hints, which almost entirely eliminates accidentally clicking the wrong link, something I still do occasionally with Vimium+Firefox.

It is also much more scriptable, so I can for example create a keyboard binding for clipping selected text (with references) directly to my localhost pastebin.

Every action you can imagine is scriptable and bindable.

It has built-in support for adblock and granular JS/image/etc permissions.

Great keyboard-accessible bookmarking system.

Keyboard-accessible and reproducible settings and bindings with autocomplete and lookups.

Not to mention that it does not on a regular basis non-consensually take away features I use/introduce features I don't want and can't disable.

reply
bayesianbot
3 hours ago
[-]
qutebrowser UI is on top of the engine running inside it so it catches every key press (and then submits it to the web engine when needed).

Clunky would be the exact term I find my day to day with these extensions - it's often pressing a key, noticing the focus is somewhere that makes the extension not catch it, and then either using a mouse or a key shortcut just to move focus somewhere the extension works with before repeating the actual command. I'd get so used to it that even when the keys do work I'm using them really slowly as I expect they might not. That never happens in qute, if I press a key it will work unless I've made a mistake myself. Also the UI being native Qt it feels snappier for me than extensions bolted on existing browsers.

The features qutebrowser can implement are somewhat limited by the web engine API and it doesn't have some things other browsers do, which is exactly why sometimes I try out these extensions, but usually after trying them for a day it feels so good to get back to qute and get an instant reliable response to key presses that I don't care about the few missing things.

reply
beretguy
6 hours ago
[-]
I wish textareas had keybindings
reply
fantod
4 hours ago
[-]
This is supported by vimium with `gi`
reply
_giorgio_
41 minutes ago
[-]
I've tried most firefox vim addons, and Vimium is the one that I ended up using.

The only configuration: I disabled it on banking sites... you never know.

To disable it, just press its icon on any website, and it will stay disabled on all the domain.

reply
BillLucky
4 hours ago
[-]
Yes, I like this plug-in very much and have been using it for many years. Thank you to the author for his wisdom and contribution!
reply
m1keil
6 hours ago
[-]
Maybe somebody knows: is it possible to exit Vimium's insert mode with any key other than ESC? Exiting full screen video on YouTube requires ESC as well.
reply
k3vinw
2 hours ago
[-]
reply
zopic_drone
1 hour ago
[-]
surfingkeys seems to have more features and works well for me
reply
zopic_drone
1 hour ago
[-]
and homerow is a pretty cool tool for navigating/scrolling like vimium outside the browser (on Mac)
reply