102 comments

[ 4.3 ms ] story [ 258 ms ] thread
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.

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

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.
Yes, someone who knows about readability can fix it, but the default behavior of the website is still important.
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.

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 :)

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

(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?)
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.
Is there a help mode for inputs like there is for links?
I think comparing Vimperator to Vimium is not really fair. Vimperator does a LOT more than just adding keybindings :)
(comment deleted)
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.
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.
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.

yes dude, but how many technical writer uses vim as their editor?
Most vim users do recognize it as a powerful editor.
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.
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.
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?
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.
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.
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.
(comment deleted)
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.
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?
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.
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?
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.
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.
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 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.
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.
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 :-)
How long until emaxium (to keep the same pronunciation) comes out?
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.
Alright... I said I didn't like it, but with this, I'll give Chrome another try.
what's the shortcut to play the video on the page?
How does this detect if there are already key-events set for a web-application such as gMail?