Motion Setup: Vimium

· Nano Tips for Vim


The default Vimium1 bindings are meant to resemble their vim-counterparts as closely as possible, which helps with learning them if you are coming from vim. However, taken for itself, these defaults are not great: the default keymaps often tend to map common actions to key sequences even though there are many unused keys. For instance, "Goto Next Tab" is bound to gt like in vim, even though the action is so common in the browser that it warrants a single key.

Similar to my Motion Setup regarding hjkl, I experimented with keybindings and came up the following core mappings which I am very happy with. The basic idea is to assign all common actions to a single home row keys, using vim's hjkl for controlling the page with the right hand, and wasd commonly known from PC-gaming for controlling tabs with the left hand.

 1" right: hjkl – Page Control
 2map j scrollDown
 3map k scrollUp
 4map h goBack
 5map l goForward
 6
 7" left: wasd – Tab Control
 8map a previousTab
 9map d nextTab
10map s copyCurrentUrl
11
12map w removeTab
13map q closeTabsOnLeft
14map e closeTabsOnRight

You can find my full vimium-c config here, if you are interested.


  1. Actually, I do use the Vimium fork Vimium C, so some command names may differ slightly. ↩︎