I’ve been having some wrist issues lately, so I’ve switched to an ergonomic split keyboard (and made an appointment with an orthopedist). I’m also trying to cut way down on my mouse usage; since I mouse with my right hand and that’s the wrist with worse problems, the mouse is my prime suspect.

But how to navigate the web without using a mouse?

Turns out that many mouse navigation actions can be replaced by the plethora of undocumented keyboard shortcuts hiding inside Firefox. Here are the ones I’ve found most useful; maybe some will prove useful to you too.

(On a Mac, replace “ctrl” with “cmd” in all the following examples.)

  • To follow a link via the keyboard: Hit the forward-slash key to enter Quick Search mode. Start typing the text of the link. The first few letters are usually enough. Once the link is highlighted, hit enter.
  • To go back: Backspace/delete key.
  • To enter a url: ctrl-L to focus the awesome bar, then start typing; optionally use the down arrow – or better yet, the tab key – to select a suggestion, and then hit enter to go to the selected url. (I find the tab key much easier to hit from the home row than the down-arrow key, and they both move down through awesome bar suggestions.)
  • To do a search: ctrl-K to focus the search box. I typically hit ctrl-T for a new tab, then ctrl-K to focus the search box, then type my search term, then hit enter to do the search.
  • To go to a bookmark: typing “* keyword” into the awesome bar – asterisk, then a space, then the keyword – will filter the awesome bar suggestions to show only bookmarks matching the keyword. You can think of the asterisk as representing the bookmark star icon. The whole interaction is ctrl-T for new tab, ctrl-L to focus the bar, asterisk, space, keyword, tab to select the bookmark, enter key to go to it. Sounds like a lot of work, but for me it’s still faster than hunting through my labyrinthine bookmark menu with the mouse.
  • To switch to a tab: much like the asterisk filter for bookmarks, a percent sign will restrict awesome bar matches to currently open tabs. “% keyword” will show only the open tabs that match (by url or page title) the keyword. E.g. I often use “% bug” to show all my Bugzilla tabs. So ctrl-L to focus the bar, percent space keyword, tab key to select the right suggestion, enter key to focus the tab. Again, I actually find this faster than hunting for tabs with the mouse.
  • There are many more filters besides * and %, too. You can find them documented at Mozillazine.
  • Another way to switch to a tab is by its position: ctrl-1 focuses the leftmost tab, ctrl-2 the second leftmost, etc. I generally don’t find this as useful as switching by names, but it can be great for app tabs, if you always have the same app tabs open in the same order. So for example ctrl-1 for me will always be WordPress, ctrl-3 will be my Zimbra calendar, ctrl-7 is the Test Pilot mercurial repo, etc.

What all these keyboard interfaces have in common is that they’re based on recall, not recognition — they work best if you know exactly what you want, and can call it by name. They’re not very good for things you’re used to recognizing by icon or by spatial location (e.g. if you’re used to getting to a certain page by clicking the second link in your bookmark bar, you’d have some adjustment to do.)

(Not Firefox related, but I’ve also mapped the ctrl key to the caps lock on my keyboard, which makes using Emacs a lot more pleasant, since I no longer have to do contortions with my left pinky to trigger commands there.)

Anybody have any more keyboard navigation tips to share? (Or tips for fighting RSI?) The comments are open.