Hacker News new | past | comments | ask | show | jobs | submit login
Vimium - the hacker's browser (vimium.github.com)
224 points by csmajorfive on April 15, 2010 | hide | past | favorite | 98 comments



Vimperator for Firefox does the same. http://vimperator.org/vimperator

One hint: have an alternate browser for normal users to use when they borrow their laptop for a second. Because not having an address bar or any icons or tabs tends to confuse them :)


(You don't want to let anybody else use your browser profile. Especially with all those "smart" address bars. Rather set up a guest account and switch to it. It's also very useful for presentations. Recent Linux distros makes user switching very easy and reliable, so it's worth doing even for a very short sessions.)


(I agree, but why are we whispering?)


" have an alternate browser for normal users to use ..."

Or not, if you don't want to encourage borrowing. :)

"I'll just be a sec! No, really."


Is there a help mode for inputs like there is for links?


Okay, I'm having a really hard time figuring out how to install my colemak.vimp plugin for vimperator.

I hate asking, but where do I put vimperator plugin files?


On Linux or OSX, just put them under "~/.vimperator/plugins".

The vimperator directory structure is pretty similar to vim's. You can also have a "~/.vimperatorrc".


I'm using it in Windows.

I've searched for the folders "plugins" and "vimperatorrc."

There is a "vimperator" folder in my documents, but with no "plugins" child folder. This vimperator folder looks like it just contains some history files....


You can just create the "plugins" folder if it doesn't exist.


I think comparing Vimperator to Vimium is not really fair. Vimperator does a LOT more than just adding keybindings :)


I've been using this for a little while and have been really liking it.

I wish there was an option to make it so you would have to manually switch to insert mode, I hate having it automatically switch and find myself doing the wrong thing - either typing and find myself jumping around, or trying to jump around and having it not do that.

I wish ctrl+f didn't pop up the chrome search box though and actually scroll down a full page...

I also wish the searching was more fully featured like vims, for example the * key to search for the word would be great, and being able to :set noignorecase would be nice.

I also have in my mental model of vim that ctrl-t is backwards in the tagstack, so I often hit ctrl-t to go backwards in history and accidentally open a tab. Until they allow remapping of keys, theres not much to do about that one.


Good suggestions. Feel free to file these as feature requests on GitHub. Let us know what platform you're on because Ctrl+F shouldn't be bringing up the find interface.

We do allow remapping of keys. Check out the settings page.


Ctrl + F brings up Chrome Find window for me as well. I am on Windows XP + Chrome.


"unmap all" would be nice so that you don't have write 30 lines blasting the defaults if you want to go custom :-)



Lightweight alternatives (to heavyweight Chrome and Firefox):

xxxterm; http://www.peereboom.us/xxxterm/html/

uzbl; http://uzbl.org/

surf; http://surf.suckless.org/

vimprobable2; http://www.vimprobable.org/


I wouldn't exactly call Chrome heavyweight. It runs fine on my 10 year old thinkpad running an Lxde desktop (256 MB, 550Mhz machine).


Is there a good writeup anywhere about how those compare? Which should I try out first?


Vimium brings me one step closer to never having to use a mouse. Hints mode and vim-style navigation keys are my favorite features. ? (shift-/) brings up a handy shortcut overlay. A must-have if you live in vim.


And brings me one step farther from never having to use a keyboard. Well, actually no it doesn't affect me at all -- but I do hate keyboards.


It seems to me that people just don't like switching between input schemes.

If most of your interaction with the computer is done by typing - in a text editor or at the command line, for example - then being able to use the keyboard for those other actions like switching tabs, scrolling windows, opening files, etc. allows you to stay in the same "input mode" for longer chunks of time.

I'm not so familiar with vim, but it seems that it's so popular because of all of those keyboard shortcuts allow people to interact with the computer consistently without having to interrupt their "flow".

If switching from mouse to keyboard (or vice versa) involves a little bit of extra cognitive processing, that adds up over time and can make your experience just a little bit slower and more frustrating. I guess switching between different keyboard shortcut schemes can have the same sort of effect, so having those same mappings of keystroke(s) --> computer action(s) available across multiple programs must be satisfying to the people who have adopted them.


Damn, I typed a big long thing, then hit the wrong key combo and zapped it all. Is that irony?

Anyway, the gist of what I wanted to say is that when you use vim, you do a lot of thinking about how you're going to position the cursor or exactly how you're going to do a visual selection of some chunk of text. When you use something like Acme that's mouse oriented, you mostly use the keyboard to enter text, while the mouse is used to point and select text. Changing the cursor is a visual, spatial thing, as is selecting text; the mouse is ideal for this, being a two-DOF system, while the keyboard is a discrete/linear tool.

I'm a huge fan of Acme for most of my editing, but I like vi for quick stuff, plus there's a certain charm to firing up my old VT-220 or ADM-3 and hacking away. However, when I see somebody trying to do serious editing in vim, flailing away madly to move the cursor to the right place and do that funky funky visual selection thing, I get impatient and a bit ticked; he feels busy because he's slamming all these keys, but I just keep wondering what the hell is taking so long.

Vimperator and this new Chrome extension have a good idea in providing keyboard shortcuts that are both extremely brief (one keystroke, no need for Ctrl combos) and pretty familiar to people who use vi. However, people should be mindful of the best uses of all their input devices, not merely the keyboard (which is certainly more 1337, but not always the best choice).


I actually take the opposite view. When I'm selecting text or placing a cursor, there's a discrete location between two letters I want to hit, and it can be annoying having to aim at it with a mouse and possibly miss. It also seems that vim is somewhat faster for me, though I've never measured it. Vim is definitely better for micro-scale cursor positioning--down a line or over a word or two.


> It seems to me that people just don't like switching between input schemes.

One time, I was working on something important, and every ten minutes or so, my girlfriend would interrupt me to tell me about something that she was reading... finally, after the third or fourth time, I got really frustrated, and as a systems guy, naturally, I yelled, "CONTEXT SWITCHING IS EXPENSIVE!"

She didn't get it... but she got it.


Switching input modes isn't a problem in terms of cognitive processing, it's just annoying to have to lift up your hand only to place it back. I find typing less annoying on a laptop because you can use the trackpad by stretching one finger without having to lift your entire hand.


Who cares?


I've missed Vimperator https://addons.mozilla.org/en-US/firefox/addon/4891 since moving primarily to Chrome. It's so nice to not have to go back and forth to the mouse when coding and testing, and my brain doesn't have to shift gears as much.


same! really liked vimperator but not enough to switch to firefox.


I really like Chrome, but not enough to switch from vimperator.


The home-row hints are much better than the number hints that conkeror and vimperator give you. Although I did get really good at typing numbers, thanks to conkeror.


In my opinion, Vimperator's hints are better. Vimperator only uses numbers for hints because letters are used to narrow down the results. If you are on a page with a lot of hints, just start typing a few letters contained in the link. All of the hints that don't match will disappear, greatly reducing the clutter on the screen and often only a single digit is needed.


Also, as I mentioned in my (redundant) comment further up, if your choices are narrowed down to one link, it's auto selected.


This is the one feature I saw that was a marked improvement over vimperator.

However, there are still too many small annoyances like not being able to open a new location in a new tab with a single command.


Hitting T and then typing into the address bar isn't fast enough? How could that even be sped up?


When I hit 't', the new tab opens not with the default New Tab page where focus is on the address bar, but with my home page (iGoogle), where the focus is on Google's search field.

This means I can't just hit 't' and type a URL. A small nit-pick I know. I've just looked at the source, and it seems a problem with Google's API call (chrome.tabs.create). It is supposed to default to the New Tab page unless a URL is provided (and vimium does not provide a URL). On my install the home page is opened instead, so this is not Vimium's fault (and I'm very happy with it thus far).


Won't CTRL+T (or CMD+T) open a new tab and focus the URL bar?


Haven't tried it myself, but I assume he means opening up a link (via hint) in a new tab.


Except that's even easier, because it's just Shift-F.


If I'm remembering correctly, vimperator used to use a similar system. I think so that you could narrow the link choices by typing.


It does still use the "type to narrow" system. If it gets one match, it automatically selects that link. Also, as you type, it filters to only links that have your search term in them, and adjusts the numbering as well.


Sorry, my comment was unclear. I meant that vimperator changed in order to make use of the type to narrow system, which was not available with the previous one.


How long until emaxium (to keep the same pronunciation) comes out?


Actually there is a project to build a Webkit based emacs style browser a la Conkeror. It's called minno. http://minno.sourceforge.net/cgi-bin/moin.cgi They are just waiting for the Sqeme QT bindings to be more usable.


Emacs users already have emacs-w3m, but it would be nice to have something better.

http://emacs-w3m.namazu.org/


What about Conkeror?

Edit: As an emacs user, my ideal browser would be ezbl[1], but development seems to have stalled.

[1]: http://github.com/haxney/ezbl


> What about Conkeror?

Never heard of it.


Author is either blissfully unaware of, or is not giving due credit to, Vimperator, which is incredible and was the first real Vim-enabling plugin AFAIK.

Great to see someone bringing this to another browser, though.


Since the link hints are exactly like vimperator's, I'm sure he's seen vimperator before.


I'm using Vimium as a key tool in my efforts to become completely mouseless.

http://luigimontanez.com/2010/mouseless-monday-1-vimium-goog...


I like your website and the concept behind it, but let me just say that the moving star background is really distracting. You should do something about that.



Thanks! I did several times use manually "Inspect Element" and then delete stuff and add margins..

edit: well, hum, strangely, it does not work so well on some pages, skipping section's titles.


Yes, someone who knows about readability can fix it, but the default behavior of the website is still important.


Okay, I've made the jump. Now I feel the pain of those using audible or other non-mouse driven browsers when I stumble across a site (e.g. our very own Hacker News) that has multiple identical link texts that go to very different places.

It's slightly better in Vimium, with Vimperitor I try to type the unique number of comments on a story as a shortcut and end up following some random link.

Also, the default setting in Vimperitor to follow the link as soon as you type a key that uniquely identifies it crazy. It means you have to be paying attention to every link text on the page or else the remainder of your typing gets given to the next page as commands. You can :set fh=1 in order to force it to wait for enter.


Protip: In Vimperator, when using hints to follow an "x comments" link, hit backslash prior to typing the number of comments. Escaped, Vimperator will interpret the numbers as text to be searched rather than link identifiers.


Call me oblivious, but having never used emacs, vi or vim I love my GUI I'm sold. This is incredibly helpful since I use a USB keyboard with my laptop and frequently don't feel like reaching across my desk to get to the mouse.

Thank you!


The things I'm really feeling are missing are being able to open a new tab with a URL by only typing one key more than the URL itself. In Vimperator this is "t", but with all the chrome-based vim-ish plugins so far I have to open up a new tab, focus the location bar, then type what I want. Sometimes that covers the tab I was looking at so I can't reliably see the spelling of what I wanted to type. This one is huge for me, and is one of my most used commands after "d".


You can do almost the same thing in chrome without any plugins. Just replace t with Ctrl-L and when you hit enter after the URL hold down ALT (to get a new tab). Same number of keystrokes, slightly more acrobatic.


Opera also has it's vim bindings. Works quit OK, although not as good as vimperator. http://my.opera.com/Blazeix/blog/vimperator-for-opera (Note: this is not an extension, just a set of bindings, still the behaviour is pretty close to vimperator)


What I really miss is the '?' shortcut in Firefox for searching on the page only in links. (There might be a different key combination for US keyboards)

If chrome would implement that, my life would improve at least 5%

it makes navigating though links very easy and much more intuitive than the link search that's demoed in the video.


It's ' in my (en-US) version of Firefox. And agreed.


Alright... I said I didn't like it, but with this, I'll give Chrome another try.


See also: Vrome. http://github.com/jinzhu/vrome

I'd love to switch completely but neither of these seem as polished as Vimperator.


Is there a way to hide the chrome address bar and toolbar?


Fwiw, you can have basic vim shortcuts binded to google search results:

http://www.google.com/experimental/


I like and I'm using it, now, but the extension or possibly the extension hooks have some shortcomings. For example, J and K move forward and backward between tabs, except that it fails on certain pages, like gmail (likely JavaScript interference), so you get stuck unless you use Chrome's built-in Ctrl-PageUp or Ctrl-PageDown commands which still work to switch between tabs.


Their settings page allows you to disable this plugin on GMail.


How exactly does that help?


It explains why the shortcuts don't work on Gmail, they are disabled by default on google domains, see the preferences.


Doesn't work with international keyboards...


Any way to start embedded youtube? f doesn't seem to include it.

Also ^fbud don't work for me (ubuntu), maybe not overridable?


Wow. This is awesome. The shortcuts don't work in GMail but that's expected.

EDIT: You can disable the plugin for GMail by going to Settings and entering mail.google.com in 'Excluded URLs' box.

BTW, has anyone figured out how to focus on a textbox area on the page? Also, what does the 'insert' mode do?


Insert basically passes keystrokes through directly without having them perform their special function - for example when you are typing into a text area. Its basically like switching from normal mode to insert mode in vi.


To focus on a textbox, hit "f". Then hit the key combination for that textbox. It works just like links.


Just installed Chrome to try this. I use a lot of keyboard shortcuts in Safari already so the one thing that stands out as awesome in this is the keyboard link picker (i.e. f or F). Please tell me there's something similar out there for Safari.


Unfortunately Safari doesn't really have a well-developed extensions system. Until they add one, extensions like this will only be available for chrome and firefox.


Is there a way in chrome just to get textarea to shunt to external editor (in my case vim)? Firefox has something for this and it's simple and unobtrusive, but all the Chome solutions seem heavyweight. Any tips?


I'm loving it, but I have a silly question: Is it possible to close the help menu without mousing over to click the [x]? I can't seem to find a key-combo for this.


In addition to escape, link hints (type "f") also work on that [x] button.


Hit escape.


Thank you so much for posting this. It is amazing how you can spend years doing something and realize it doesn't make sense anymore :-)


Wow, this is amazing and I'm now using Chrome fulltime. Anything to not have to use the Dell mini 10v's trackpad with OS X. ;)


vimium.com is available.


How does this detect if there are already key-events set for a web-application such as gMail?


Does it interfere with Gmail's vi-inspired keyboard shortcuts?


It seems to be automatically disabled for any Google domains like Gmail or Google search.


The shortcuts don't seem to work in GMAIL


Check the option; you can disable some site. If I remember well, disabling gmail is given in example. And, Gmail already has some kind of vim shortcut.. you might want to disable them if you like the chrome version better.


Awesome! Just switched away from Safari.


Do the same and my bookmarks will no longer get synced with my iPhone. This is cool enough that I'm swaying that way.


having been using Vimperator for a long time now. How is this comparing to Vimperator?


what's the shortcut to play the video on the page?


Breaks Google Wave


ctrl+u and ctrl+d seems quite inconvenient given that they're miles apart on the keyboard. two handed page-up scrolling? I guess you need to be a vim user for it to make sense. Presumably the page-up and page-down buttons work too.


Vim can be used to write things other than code, so the "hacker" thing is needless...I think that if vim were recognized as simply a powerful editor, not specialized for code, it could save many everyday people a lot of time.

I say that this is a vim user's browser.


Most vim users do recognize it as a powerful editor.


yes dude, but how many technical writer uses vim as their editor?


I do.




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

Search: