qutebrowser Key Bindings
Updated  2022-March-2

Page contents


2022-January-24  Published this evolving⁠[1] article.



This article assumes you know…

  • the basics about the qutebrowser web browser

  • and how to create and populate a qutebrowser config.py configuration file.


Built-in key bindings

To view qutebrowser’s default key bindings…

The following is the beginning of that part of qutebrowser’s default config.py.

2119## Bindings for normal mode
2120config.bind("'", 'mode-enter jump_mark')
2121config.bind('+', 'zoom-in')
2122config.bind('-', 'zoom-out')


The two emphasized bindings above make it possible to use the + and -⁠ keys to zoom in and zoom out on a web page.


Examples of user-defined key bindings


Because I’m used to using Ctrl+= and Ctrl+- to zoom in and zoom out on a web page, I put the following in my config.py.

config.bind('<Ctrl-=>', 'zoom-in')
config.bind('<Ctrl-->', 'zoom-out')


Launching userscripts

Infinite Ink’s qutebrowser Userscripts on Windows includes the following key bindings, each of which launches a userscript.

config.bind(',qenv', 'spawn -u -o "qb-env.cmd"')
config.bind(',t', 'spawn -u tumblelog-wrapper.cmd')


Killing popups and other floating elements

config.bind(',kp', 'jseval (function () { '+
'  var i, elements = document.querySelectorAll("body *");'+
'  for (i = 0; i < elements.length; i++) {'+
'    var pos = getComputedStyle(elements[i]).position;'+
'    if (pos === "fixed" || pos == "sticky") {'+
'      elements[i].parentNode.removeChild(elements[i]);'+
'    }'+
'  }'+


If you put this in your config.py, you can type ,kp in normal mode to kill popups on qutebrowser’s current web page.


See also


1. Many Infinite Ink articles, including this one, are evergreen and regularly updated.

Comments and questions 📝 🤔 👎 👍

Your public comment or question might immediately improve this page or help me to (eventually) improve this page.