Navigate the World Wide Web using keyboard-driven web browsers or add-ons with Vim 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.
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.
And if you type “:” you can go into the
As it supports keyboard-driven web browsing natively, the experience is very smooth.
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.
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.
Vieb key bindings and features, you can refer to its website.
Vieb is available for Linux, Windows, macOS, and BSD.
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.
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.
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.
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.