Note: Most of these blogs are for my personal reference and at a given time, some of those might just be unpolished drafts.

Vimium, Browser for hackers!

How I came to know about it

So, I am a regular reddit user and it’s one of my favorites online communities. While browsing through subreddit posts, there is a feature in the reddit web-app where you have keyboard shortcuts for browsing: N for next post, P for previous post and so on. I found it very convinient and easy to use especially because you don’t have to take your hands off the keyboard. So, I started searching for any plugins for browser where you could navigate and do stuffs using shortcuts. There are lot of fancy terminal based browsers but we all know that they offer very less utility value when we actually want to accomplish something. I even posted about it under ‘productivity’ subreddit. That’s when I came to know about vimium.

Vimium

Vimium strives to provide vim like capabilities to a browser. Vim is one of the most efficient (if used properly-and it has steep learning curve) text editors (IDE) with a myriad of capabilities. It is well known for how easy, efficient and configurable it is when used properly. For people working on remote servers (you don’t have grahical server access to them to use fancy IDEs), when the files being dealt are huge (Gigabytes of text data: try opening that in your IDE), when sytem resource is very less (say you are inside a VM with limited memory, or are inside a docker container and don’t want you bloat it with heavy memory consumptive applications) VIM comes to rescue. Emacs stands at a comparable place too!!

Vimium for Chrome

Vimium has got a chrome extension. Similarly there are addons and plugins for firefox too. Once installed and enabled you can directly start using it. There are myriads of options available and you can create custom key mappings and bindings too but following are the ones that I frequently use and love:

  • Vim style page navigation: j->down,k->up,gg->page top,G->page bottom
  • working with links: f: $link_character (F for new tab)
  • search anywhere (bookmarks history) o: $search_text (O for new tab)
  • vim style search: /$search-query
  • Navigate back: H, Navigate forward: ‘L’

key binding conflicts

Using vimium can create conflict with existing key bindings (in apps like Gmail, kubernetes dashboard, etc). We can either temporarily disable by going to insert mode (i) or even disable permanently using vimium options (exclusion) which can work wholly (all keys) or partially (only certain keys).

Disabling vimium keybindings

Link Navigation in Vimium

For more information:

vimium github

vimium stackoverflow

Written on July 9, 2018