Web Browsing with Vim Experience

Navigate the World Wide Web using keyboard-driven web browsers or add-ons with Vim key bindings.

qutebrowser Key Bindings


As developers using Vim/Neovim, you definitely get used to a mouseless development workflow. In my previous article, I talked about some niche Neovim plugins, including Firenvim which allows you to embed Neovim in a browser. In this article, let’s explore keyboard-driven web browsing using the familiar Vim key bindings.

Web Browsers

Let’s started by going through browsers that support keyboard-driven web browsing natively.


Perhaps this is one of the most popular options for developers. qutebrowser is a keyboard-focused browser with a minimal GUI. It’s based on Python and PyQt5. It is free software, licensed under the GPL.

The key bindings should look familiar to Vim users.

qutebrowser Key Bindings

And if you type “:” you can go into the Command mode.

qutebrowser Commands

As it supports keyboard-driven web browsing natively, the experience is very smooth.

Keyboard-Driven Web Browsing

qutebrowser is available for Windows, Linux, and macOS.


Vimb is a WebKit-based web browser that behaves like the Vimperator plugin for Firefox and has usage paradigms from the great editor, Vim. The goal is to build a completely keyboard-driven, efficient, and pleasurable browsing experience.

Note: Vimb is only available for Linux.



From the Luakit website,

Luakit is a highly configurable browser framework based on the WebKit web content engine and the GTK+ toolkit. It is very fast, extensible with Lua, and licensed under the GNU GPLv3 license. It is primarily targeted at power users, developers and anyone who wants to have fine-grained control over their web browser’s behaviour and interface.


For Vim users, you will find yourself right at home; most if not all Luakit actions are available via keyboard commands.

Luakit is available for Windows, Linux, and BSD.


Nyxt is a keyboard-oriented, infinitely extensible web browser designed for power users. Conceptually inspired by Emacs and Vim, it has familiar key-bindings (Emacs, vi, CUA), and is fully configurable in Lisp.


Nyxt is available for Linux and macOS.


Vieb stands for Vim Inspired Electron Browser.

For Vieb key bindings and features, you can refer to its website.


Vieb is available for Linux, Windows, macOS, and BSD.

Browser Plugins

There are many browser add-ons or plugins which offer a Vim-like browsing experience. I am going through some of the popular options here but definitely, there are more options than what I can cover here.


Perhaps this is one of the most popular add-ons. Vimium is a browser extension that provides keyboard-based navigation and control of the web in the spirit of the Vim editor.

Once installed, press “? “ and you can see the available key bindings.

Vimium Key Bindings

For more advanced features, you can refer to the Wiki page.

Vimium is available for Chrome, Firefox, Brave, and Vivaldi.


Surfingkeys is another Chrome/Firefox extension that provides keyboard-based navigation and control of the web in the spirit of the Vim editor.

Surfingkeys is created with all settings described in Javascript, so it’s easy for anyone to map any keystrokes to his own defined Javascript function.

SurfingKeys Key Bindings

Vimium C

Vimium C is a customized Vimium developed in C with Chinese support, global commands, and injection functionalities.

For Vimium users, you should give this extension a try. It should be faster and with additional features like Vomnibar.

Vimium C

Other Add-Ons


It is fun trying some of these browsers and add-ons. As developers who use Vim, do try them to see which ones fit your development workflow.

Programmer and occasional blogger.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store