23:42 Thu 24 Mar 2011. Updated: 01:43 25 Mar 2011
[, , , ]

Pentadactyl is an add-on for Firefox that allows for keyboard-focused interaction with the browser by providing Vim-like keybindings. If you’re at all interested in browsing with the keyboard instead of the mouse, you should try it out.

Pentadactyl is a fork of the older Vimperator project, which I’ve been using up to now; with my switch to Firefox 4 I decided to follow Seth’s lead and try it.

In many respects, the Vim modal approach to browsing makes even more sense than it does for editing text: when you’re browsing, you’d already in a “mode” where you don’t expect typing to produce output. Most of the time, then, you’re not expecting most of the keys on the keyboard to do anything at all, which seems like a serious waste. Being able to use k for up and j for down is already a significant gain in usability, and that’s the least of what Pentadactyl gives you.

Browsing can be broken down into three major categories, and for each one I prefer Pentadactyl’s way of dealing with them to the more traditional approach.


Yes, having j and k makes that much of a difference. Space and Shift-Space help too, but you have them in the basic browser. All four of those keys give you anything you can get from the mouse’s scrollwheel, and in addition the Vim bindings of gg for “top of page” and G for “bottom of page” come in pretty handy. For moving in your browser history, H and Backspace (the latter a browser default) bring you to the previous page, and L to the next page.

Reading also means moving between the tabs you have open. Pentadactyl gives you a lot of power for doing this, from <number>b to go to the nth tab to b<string> to go to the tab whose title matches the string. That might not sound like much, but I routinely have 50+ tabs open in a window, and being able to navigate between them easily is rather important.

Following Links

It was quite difficult for me to not call this section “clicking links”, but that would really privilege the mouse too much… still, it’s clear from the ubiquity of that meaning of “click” that browsing and mousing have gone together from the start. It isn’t, however, the only way. Pentadactyl gives you a number of modes to follow links; the only two I use are f and F, for “open in this tab” and “open in a new tab”. You hit the key, and then start typing the text of the link; when it’s the only option left, Pentadactyl will follow it. Again, this sounds cumbersome at first, but if you’re used to typing it quickly becomes highly efficient. All visible links are given numbers as soon as you enter one of those modes, and you can select them with numbers as well.

If you already have the link in the clipboard, you can open it in the current tab with p and in a new tab with P.

Sharing links

We do this all the time, and for this Pentadactyl is clearly better. Without it, you have to either use the mouse to click in the URL bar and then select Copy, or hit Ctrl/Cmd-L and Ctrl/Cmd-C. With Pentadactyl just y copies the current URL into the clipboard. If you’re trying to get a link’s URL without following it, you can use one of the extended hint modes, which function similarly to the follow modes: ;y<string> will give you the URL of the link whose text matches string.

I do this a lot, and it works really well. Even better, I found out that it works in Muttator, Vimperator’s sister project for Thunderbird, so that I can copy links from email messages to the clipboard with i;y<string><cr>.

Since I often want to both follow and copy links (especially when blogging), I find that this is a lot better than right-clicking on a link and selecting copy and then clicking the link.

Those are just a few of the basics of Pentadactyl’s functionality. If you want to keep your hands as close to the home row as possible, and/or if micro-efficiency on tasks you perform hundreds of times every day interests you, you should have a look at it.

One Response to “Pentadactyl”

  1. iblee Says:

    Good points -especially the ;y hints. I was just trying to become more efficient in this area because I too copy a lot of links for troubleshooting.

Leave a Reply