Useful tools: Vim Vixen

I’m a keyboard guy. If it was practical I would love to throw the mouse away. This is why my personal computer runs Manjaro with the I3vm. A window manager which is the keyboard first. Often there’s applications which simply do not allow me to use keybindings, or are so unintuitive that it isn’t even worth learning them, whereupon I often script the functionalities I need and execute them from the command line. The point I’m trying to get across is that I love doing things from the keyboard. Executing actions without having to think or look for them makes it easier for me to work with a computer. (Also it is fun and it looks cool to trigger a whole heap of functionality by pressing a few magic buttons).

The world wide web however is not really approachable for keyboard users. Out of the box most web browsers simply do not allow me to browse the web with my keyboard. To click a link I must tab my way down the website, and when I click it I have little control whether I want to open that website in the current tab, or to open it in a new tab. While most modern browsers have a decent selection of shortcuts they don’t go far enough to actually allow me browse the web efficiently using a keyboard.

The history

A couple of years ago I discovered a browser plugin for Firefox called Saka Key. This was such an elegant plugin which allowed me to browse the web exactly how I wanted to do it. This was how I browsed the web up a couple of weeks ago. I was installing Firefox on a new machine, where I quickly discovered that Saka Key refused to install, so I started searching. Turns out that the project had been looking for a new maintainer for a few years, on top of that the plugin had been removed from the Firefox add-on store.

This sucks as Saka Key was one of the core plugins I use every single time I browse the web. I would love to pick up the torch, but as with the original maintainer I cannot promise to have enough time either. I could’ve installed the plugin manually, but seeing the project being, effectively dead does not inspire trust. That said Saka Key has been great for several years and I have enjoyed using it and if it is brought back to life I will consider it again.

Vim Vixen to the rescue

After the realization that Saka Key was probably dead at this point I started to look for alternatives. There are browsers out there which focuses on using the keyboard, the most notable one is qutebrowser. While I like the idea I also have a bunch of other plugins in my browser which I need, so switching something like qutebrowser is simply not feasible.

In my search I stumbled over Vim Vixen, which aims to make Vim style commands available in the browser, and supports everything I was missing from Saka Key! Vim Vixen can be a bit jarring for those who isn’t used to Vim, which is understandable. Vim Vixen does, however, make the browser so much more intuitive and friendly for those who is used to Vim.

Like Vim we scroll by using j (down) and k (up), but by holding the shift key we can also jump between tabs. All of this is configurable, though I would recommend getting used to the keybindings as they would make you more proficient in Vim as well.

If you’re curious you can find the whole keybinding list here: https://ueokande.github.io/vim-vixen/keymaps.html

One of the most used keybinding is “f” (and for me “a” and “A”). By pressing this key binding a label with a character will show up next to every visible link. By pressing the character matching the one next to the link will, essentially, click the link:

The yellow labels indicates a link, by pressing the right key combination the link will be pressed

The yellow labels indicates a link, by pressing the right key combination the link will be pressed

Since all this is configurable I have made minor tweaks:

  • f = open link in current tab

  • a = open link in new tab (This keybinding does not originally exist from what I can see)

  • A = open link in new tab and focus that tab (This was previously mapped to “F”)

A really cool thing that Vim Vixen does is having its own little Vim Like terminal right in the browser:

vim_vixen_console.png

This neat little command line allows us to do a bunch of normal browser things, like opening websites (in current tab, new tab or new window), or even search for tabs in the current window! By simply pressing ‘t’ I can can search or go to websites in a new tab:

vim_vixen_open_new_tab_example.png

As displayed in the image above we also get a bunch of suggestions which one can quickly tab to as needed. I won’t go through everything this plugin does, for that we have the Vim Vixen guide. I love these kinds of plugins as they make browsing the web so much more enjoyable and fun. Vim Vixen is, by the looks of it, only for Firefox, but I am sure Chrome and other browsers have similar plugins as well (Saka Key is still on the webstore).

The internet is very much mouse driven these days. I would love to have the major browsers play ball with the minority of us who really likes to use the keyboard, though I find it hard to imagine a keyboard driven internet anytime soon. For now browser plugins work, and Vim Vixen does the job very well. Check it out at the firefox add-on store and give it a try.

Previous
Previous

The importance of unit test names

Next
Next

Code Reviews - easy in theory, difficult in practice