Coders love text editor Vim because they can do everything from the keyboard, avoiding detours into into slow, distracting mouse-click work. Here's how a single Chrome extension can change your browsing habits in similar get-what-you-came-for fashion.
We've previously posted about Vimium, and Information Diet author Clay Johnson mentioned its focus-restoring powers in passing. But Vimium is a fairly deep extension of Chrome, with a few settings and tricks you should know more about if you're going to make the most of it. If all you want is universal "j/k=down/up" keyboard functionality on any website, then you don't need anything more. If you want to navigate between pages, copy links and avoid having Vimium interfere with sites with their own keyboard tools, like Gmail and Twitter, read on.
First off, install Vimium. It's going to ask for quite a few permissions, probably more than you're used to seeing from an extension, and they're real requests, because it does reach deeply into each page that you visit to make it more accessible by keyboard. I tend to trust a project that puts its source code online.
Navigating with Vimium
Now that Vimium is installed, certain shortcuts will work on any page, making scrolling something you can do with the keyboard instead of the mouse:
- j/k: Scroll down/up
- h/l: Scroll right/left
- gg (in succession): Jump back to the top of a page
- G (note the capital): Jump to the bottom of a page
- d/u: Scroll a half page down/up
And you have a few other utilities that work as well. You might not have use for all of these, or prefer your browser's built-in shortcuts, but I find them quite handy, and easier to fit into a reading/searching flow. Especially "yy" for quickly copying a page URL:
- J/K: Switch tabs left/right
- /: Enter "find" mode (type in search terms to instantly jump to them)
- n/N: Jump forward/back between occurrences of search term (after pressing "/")
- yy: Copy the current page's URL to your clipboard.
Using and copying links, text areas and buttons
What makes Vimium really valuable is its ability to turn every click-able element on a page into a shortcut you can activate with one or two key presses. Not just links, but text areas you want to type inside, buttons you need to click, and check boxes you need to tick off. All without a mouse. It seems like something you should be able to do without an extension, but once you've been doing it a while, you'll get that "Other People's Browsers Feel Wrong" vibe.
First, tap "f" (lower case) on any page open in Chrome. What should happen is that every clickable page element should get a little yellow button stuck to its upper-left, with one or more letters inside:
Unlike other areas of Vimium, you don't need to watch for capitalisation here. Press "f", then tap the letter(s) of the thing you want to interact with. In the example above, you'd hit "f", then "j" to give Alan's post a +1 on Google+, "f"-"m" to see the full post at the "More>>" link and so on.
If nothing happens when you tap "f", it's because you're not "focused" on the page itself. Your cursor might be in the address bar, or inside a text area, or somewhere else. You can tap "Tab" a few times to try to get back into the page, hit "Esc" to escape a text box, or, as a last resort, click somewhere inside the page with the very pointing tool you're trying to escape. This will happen a few times, especially as you first get into Vimium.
If you want to get rid of the "f" key shortcuts, don't press "f" again. Hit "Escape" to drop the link shortcuts.
When you don't want to browse to a link, but copy it instead, add a "y" before the "f". That is, to copy the headline link to Alan's post in the example further up, you'd tap "y"-"f"-"k". Three letters seems like a lot, until you think of the time to move to your trackpad or mouse, mouse over to the headline, right-click on it, scroll down to "Copy link", left-click, and hope you don't mouse out of the menu accidentally.
There are two last keyboard tricks you should know about Vimium. If want to turn off Vimium's shortcuts temporarily, perhaps while you're typing or otherwise interacting with a web page, tap "i". This turns on "Insert mode", which allows you to type without triggering any shortcuts. And if you need a refresher on Vimium's shortcuts, type "?" on any page.
Setting smart options
Head to your Chrome settings, change to the Extensions section, and scroll down to find the "Options" link for Vimium. There's a few things you should take note of.
The "Scroll step size" controls how many pixels you move up or down when you tap j/k on a page. Bump it up if you'd like to more quickly fly through a page with your fingers. Below that is the trickier section, "Excluded URLS". By default, Vimium sets up a few sites, with very specific URL exclusions like "http://mail.google.com/." The asterisks mean, as in many programs, "anything". This exclusion disables Vimium on any Gmail page.
I went one step further, as shown in the image just above, and entirely disabled Vimium on any page stemming from Google, Twitter or Dropbox, using a syntax like "http://google*". That's because those sites have their own shortcuts that I tend to like and use, and Vimium's shortcuts, particularly "j/k," interfere with their proper use. Add your own shortcut-friendly (or Vimium-unfriendly) sites by replacing "google" with the main page address.
One last thing to peek at is the "Characters used for links" box. It's a mash of letters in there, and I usually remove "f" from the middle. That way, even if I accidentally tap "f" after first tapping it, thinking it will turn off the link shortcuts, nothing happens. That's a better outcome than finding out "f" was mapped to the "Log out" link, I think.
Here's hoping you'll find Vimium as useful, time-saving and attention-narrowing as I do. Drop your own Vimium tips or alternative browser-powering suggestions in the comments.