# Commands

In qutebrowser, all keybindings are mapped to commands.

Some commands are hidden, which means they don’t show up in the command completion when pressing `:`, as they’re typically not useful to run by hand.

For command arguments, there are also some variables you can use:

- `{url}` expands to the URL of the current page

- `{url:pretty}` expands to the URL in decoded format

- `{clipboard}` expands to the clipboard contents

- `{primary}` expands to the primary selection contents

It is possible to run or bind multiple commands by separating them with `;;`.

## Normal commands

Table 1. Quick reference
Command | Description
--- | ---
adblock-update | Update the adblock block lists.
back | Go back in the history of the current tab.
bind | Bind a key to a command.
bookmark-add | Save the current page as a bookmark, or a specific url.
bookmark-del | Delete a bookmark.
bookmark-load | Load a bookmark.
buffer | Select tab by index or url/title best match.
clear-keychain | Clear the currently entered key chain.
clear-messages | Clear all message notifications.
click-element | Click the element matching the given filter.
close | Close the current window.
config-clear | Set all settings back to their default.
config-cycle | Cycle an option between multiple values.
config-edit | Open the config.py file in the editor.
config-source | Read a config.py file.
config-unset | Unset an option.
config-write-py | Write the current configuration to a config.py file.
download | Download a given URL, or current page if no URL given.
download-cancel | Cancel the last/[count]th download.
download-clear | Remove all finished downloads from the list.
download-delete | Delete the last/[count]th download from disk.
download-open | Open the last/[count]th download.
download-remove | Remove the last/[count]th download from the list.
download-retry | Retry the first failed/[count]th download.
edit-command | Open an editor to modify the current command.
edit-url | Navigate to a url formed in an external editor.
enter-mode | Enter a key mode.
fake-key | Send a fake keypress or key string to the website or qutebrowser.
follow-selected | Follow the selected text.
forward | Go forward in the history of the current tab.
fullscreen | Toggle fullscreen mode.
greasemonkey-reload | Re-read Greasemonkey scripts from disk.
help | Show help about a command or setting.
hint | Start hinting.
history | Show browsing history.
history-clear | Clear all browsing history.
home | Open main startpage in current tab.
insert-text | Insert text at cursor position.
inspector | Toggle the web inspector.
jseval | Evaluate a JavaScript string.
jump-mark | Jump to the mark named by `key`.
later | Execute a command after some time.
message-error | Show an error message in the statusbar.
message-info | Show an info message in the statusbar.
message-warning | Show a warning message in the statusbar.
messages | Show a log of past messages.
navigate | Open typical prev/next links or navigate using the URL path.
nop | Do nothing.
open | Open a URL in the current/[count]th tab.
open-editor | Open an external editor with the currently selected form field.
print | Print the current/[count]th tab.
quickmark-add | Add a new quickmark.
quickmark-del | Delete a quickmark.
quickmark-load | Load a quickmark.
quickmark-save | Save the current page as a quickmark.
quit | Quit qutebrowser.
record-macro | Start or stop recording a macro.
reload | Reload the current/[count]th tab.
repeat | Repeat a given command.
repeat-command | Repeat the last executed command.
report | Report a bug in qutebrowser.
restart | Restart qutebrowser while keeping existing tabs open.
run-macro | Run a recorded macro.
run-with-count | Run a command with the given count.
save | Save configs and state.
scroll | Scroll the current tab in the given direction.
scroll-page | Scroll the frame page-wise.
scroll-px | Scroll the current tab by count * dx/dy pixels.
scroll-to-perc | Scroll to a specific percentage of the page.
search | Search for a text on the current page. With no text, clear results.
search-next | Continue the search to the ([count]th) next term.
search-prev | Continue the search to the ([count]th) previous term.
session-delete | Delete a session.
session-load | Load a session.
session-save | Save a session.
set | Set an option.
set-cmd-text | Preset the statusbar to some text.
set-mark | Set a mark at the current scroll position in the current tab.
spawn | Spawn a command in a shell.
stop | Stop loading in the current/[count]th tab.
tab-clone | Duplicate the current tab.
tab-close | Close the current/[count]th tab.
tab-focus | Select the tab given as argument/[count].
tab-give | Give the current tab to a new or existing window if win_id given.
tab-move | Move the current tab according to the argument and [count].
tab-next | Switch to the next tab, or switch [count] tabs forward.
tab-only | Close all tabs except for the current one.
tab-pin | Pin/Unpin the current/[count]th tab.
tab-prev | Switch to the previous tab, or switch [count] tabs back.
tab-take | Take a tab from another window.
unbind | Unbind a keychain.
undo | Re-open the last closed tab or tabs.
version | Show version information.
view-source | Show the source of the current page in a new tab.
window-only | Close all windows except for the current one.
yank | Yank something to the clipboard or primary selection.
zoom | Set the zoom level for the current tab.
zoom-in | Increase the zoom level for the current tab.
zoom-out | Decrease the zoom level for the current tab.

### adblock-update

Update the adblock block lists.

This updates `~/.local/share/qutebrowser/blocked-hosts` with downloaded host lists and re-reads `~/.config/qutebrowser/blocked-hosts`.

### back

Syntax: `:back [--tab] [--bg] [--window]`

Go back in the history of the current tab.

#### optional arguments

- `-t`, `--tab`: Go back in a new tab.

- `-b`, `--bg`: Go back in a background tab.

- `-w`, `--window`: Go back in a new window.

#### count

How many pages to go back.

### bind

Syntax: `:bind [--mode mode] [--default] key [command]`

Bind a key to a command.

#### positional arguments

- `key`: The keychain or special key (inside `<...>`) to bind.

- `command`: The command to execute, with optional args, or not given to print the current binding.

#### optional arguments

- `-m`, `--mode`: A comma-separated list of modes to bind the key in (default: `normal`). See `:help bindings.commands` for the available modes.

- `-d`, `--default`: If given, restore a default binding.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

- With this command, `;;` is interpreted literally instead of splitting off a second command.

- This command does not replace variables like `{url}`.

### bookmark-add

Syntax: `:bookmark-add [--toggle] [url] [title]`

Save the current page as a bookmark, or a specific url.

If no url and title are provided, then save the current page as a bookmark. If a url and title have been provided, then save the given url as a bookmark with the provided title. You can view all saved bookmarks on the bookmarks page.

#### positional arguments

- `url`: url to save as a bookmark. If None, use url of current page.

- `title`: title of the new bookmark.

#### optional arguments

- `-t`, `--toggle`: remove the bookmark instead of raising an error if it already exists.

### bookmark-del

Syntax: `:bookmark-del [url]`

Delete a bookmark.

#### positional arguments

- `url`: The url of the bookmark to delete. If not given, use the current page’s url.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### bookmark-load

Syntax: `:bookmark-load [--tab] [--bg] [--window] [--delete] url`

Load a bookmark.

#### positional arguments

- `url`: The url of the bookmark to load.

#### optional arguments

- `-t`, `--tab`: Load the bookmark in a new tab.

- `-b`, `--bg`: Load the bookmark in a new background tab.

- `-w`, `--window`: Load the bookmark in a new window.

- `-d`, `--delete`: Whether to delete the bookmark afterwards.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### buffer

Syntax: `:buffer [index]`

Select tab by index or url/title best match.

Focuses window if necessary when index is given. If both index and count are given, use count.

#### positional arguments

- `index`: The [win_id/]index of the tab to focus. Or a substring in which case the closest match will be focused.

#### count

The tab index to focus, starting with 1.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### clear-keychain

Clear the currently entered key chain.

### clear-messages

Clear all message notifications.

### click-element

Syntax: `:click-element [--target target] [--force-event] filter value`

Click the element matching the given filter.

The given filter needs to result in exactly one element, otherwise, an error is shown.

#### positional arguments

- `filter`: How to filter the elements. id: Get an element based on its ID.

- `value`: The value to filter for.

#### optional arguments

- `-t`, `--target`: How to open the clicked element (normal/tab/tab-bg/window).

- `-f`, `--force-event`: Force generating a fake click event.

### close

Close the current window.

### config-clear

Syntax: `:config-clear [--save]`

Set all settings back to their default.

#### optional arguments

- `-s`, `--save`: If given, all configuration in autoconfig.yml is also removed.

### config-cycle

Syntax: `:config-cycle [--temp] [--print] option [values [values …]]`

Cycle an option between multiple values.

#### positional arguments

- `option`: The name of the option.

- `values`: The values to cycle through.

#### optional arguments

- `-t`, `--temp`: Set value temporarily until qutebrowser is closed.

- `-p`, `--print`: Print the value after setting.

### config-edit

Syntax: `:config-edit [--no-source]`

Open the config.py file in the editor.

#### optional arguments

- `-n`, `--no-source`: Don’t re-source the config file after editing.

### config-source

Syntax: `:config-source [--clear] [filename]`

Read a config.py file.

#### positional arguments

- `filename`: The file to load. If not given, loads the default config.py.

#### optional arguments

- `-c`, `--clear`: Clear current settings first.

### config-unset

Syntax: `:config-unset [--temp] option`

Unset an option.

This sets an option back to its default and removes it from autoconfig.yml.

#### positional arguments

- `option`: The name of the option.

#### optional arguments

- `-t`, `--temp`: Don’t touch autoconfig.yml.

### config-write-py

Syntax: `:config-write-py [--force] [--defaults] [filename]`

Write the current configuration to a config.py file.

#### positional arguments

- `filename`: The file to write to, or not given for the default config.py.

#### optional arguments

- `-f`, `--force`: Force overwriting existing files.

- `-d`, `--defaults`: Write the defaults instead of values configured via :set.

### download

Syntax: `:download [--mhtml] [--dest dest] [url]`

Download a given URL, or current page if no URL given.

#### positional arguments

- `url`: The URL to download. If not given, download the current page.

#### optional arguments

- `-m`, `--mhtml`: Download the current page and all assets as mhtml file.

- `-d`, `--dest`: The file path to write the download to, or not given to ask.

### download-cancel

Syntax: `:download-cancel [--all]`

Cancel the last/[count]th download.

#### optional arguments

- `-a`, `--all`: Cancel all running downloads

#### count

The index of the download to cancel.

### download-clear

Remove all finished downloads from the list.

### download-delete

Delete the last/[count]th download from disk.

#### count

The index of the download to delete.

### download-open

Syntax: `:download-open [cmdline]`

Open the last/[count]th download.

If no specific command is given, this will use the system’s default application to open the file.

#### positional arguments

- `cmdline`: The command which should be used to open the file. A `{}` is expanded to the temporary file name. If no `{}` is present, the filename is automatically appended to the cmdline.

#### count

The index of the download to open.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### download-remove

Syntax: `:download-remove [--all]`

Remove the last/[count]th download from the list.

#### optional arguments

- `-a`, `--all`: Remove all finished downloads.

#### count

The index of the download to remove.

### download-retry

Retry the first failed/[count]th download.

#### count

The index of the download to retry.

### edit-command

Syntax: `:edit-command [--run]`

Open an editor to modify the current command.

#### optional arguments

- `-r`, `--run`: Run the command if the editor exits successfully.

### edit-url

Syntax: `:edit-url [--bg] [--tab] [--window] [--private] [--related] [url]`

Navigate to a url formed in an external editor.

The editor which should be launched can be configured via the `editor.command` config option.

#### positional arguments

- `url`: URL to edit; defaults to the current page url.

#### optional arguments

- `-b`, `--bg`: Open in a new background tab.

- `-t`, `--tab`: Open in a new tab.

- `-w`, `--window`: Open in a new window.

- `-p`, `--private`: Open a new window in private browsing mode.

- `-r`, `--related`: If opening a new tab, position the tab as related to the current one (like clicking on a link).

### enter-mode

Syntax: `:enter-mode mode`

Enter a key mode.

#### positional arguments

- `mode`: The mode to enter.

### fake-key

Syntax: `:fake-key [--global] keystring`

Send a fake keypress or key string to the website or qutebrowser.

:fake-key xy - sends the keychain xy :fake-key <Ctrl-x> - sends Ctrl-x :fake-key <Escape> - sends the escape key

#### positional arguments

- `keystring`: The keystring to send.

#### optional arguments

- `-g`, `--global`: If given, the keys are sent to the qutebrowser UI.

### follow-selected

Syntax: `:follow-selected [--tab]`

Follow the selected text.

#### optional arguments

- `-t`, `--tab`: Load the selected link in a new tab.

### forward

Syntax: `:forward [--tab] [--bg] [--window]`

Go forward in the history of the current tab.

#### optional arguments

- `-t`, `--tab`: Go forward in a new tab.

- `-b`, `--bg`: Go forward in a background tab.

- `-w`, `--window`: Go forward in a new window.

#### count

How many pages to go forward.

### fullscreen

Syntax: `:fullscreen [--leave]`

Toggle fullscreen mode.

#### optional arguments

- `-l`, `--leave`: Only leave fullscreen if it was entered by the page.

### greasemonkey-reload

Re-read Greasemonkey scripts from disk.

The scripts are read from a greasemonkey subdirectory in qutebrowser’s data directory (see `:version`).

### help

Syntax: `:help [--tab] [--bg] [--window] [topic]`

Show help about a command or setting.

#### positional arguments

- `topic`: The topic to show help for.

  - :command for commands.

  - section.option for settings.

#### optional arguments

- `-t`, `--tab`: Open in a new tab.

- `-b`, `--bg`: Open in a background tab.

- `-w`, `--window`: Open in a new window.

### hint

Syntax: `:hint [--mode mode] [--add-history] [--rapid] [group] [target] [args [args …]]`

Start hinting.

#### positional arguments

- `group`: The element types to hint.

  - `all`: All clickable elements.

  - `links`: Only links.

  - `images`: Only images.

  - `inputs`: Only input fields.

- `target`: What to do with the selected element.

  - `normal`: Open the link.

  - `current`: Open the link in the current tab.

  - `tab`: Open the link in a new tab (honoring the `tabs.background_tabs` setting).

  - `tab-fg`: Open the link in a new foreground tab.

  - `tab-bg`: Open the link in a new background tab.

  - `window`: Open the link in a new window.

  - `hover` : Hover over the link.

  - `yank`: Yank the link to the clipboard.

  - `yank-primary`: Yank the link to the primary selection.

  - `run`: Run the argument as command.

  - `fill`: Fill the commandline with the command given as argument.

  - `download`: Download the link.

  - `userscript`: Call a userscript with `$QUTE_URL` set to the link.

  - `spawn`: Spawn a command.

- `args`: Arguments for spawn/userscript/run/fill.

  - With `spawn`: The executable and arguments to spawn. `{hint-url}` will get replaced by the selected URL.

  - With `userscript`: The userscript to execute. Either store the userscript in `~/.local/share/qutebrowser/userscripts` (or `$XDG_DATA_DIR`), or use an absolute path.

  - With `fill`: The command to fill the statusbar with. `{hint-url}` will get replaced by the selected URL.

  - With `run`: Same as `fill`.

#### optional arguments

- `-m`, `--mode`: The hinting mode to use.

  - `number`: Use numeric hints.

  - `letter`: Use the chars in the hints.chars setting.

  - `word`: Use hint words based on the html elements and the extra words.

- `-a`, `--add-history`: Whether to add the spawned or yanked link to the browsing history.

- `-r`, `--rapid`: Whether to do rapid hinting. With rapid hinting, the hint mode isn’t left after a hint is followed, so you can easily open multiple links. This is only possible with targets `tab` (with `tabs.background_tabs=true`), `tab-bg`, `window`, `run`, `hover`, `userscript` and `spawn`.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### history

Syntax: `:history [--tab] [--bg] [--window]`

Show browsing history.

#### optional arguments

- `-t`, `--tab`: Open in a new tab.

- `-b`, `--bg`: Open in a background tab.

- `-w`, `--window`: Open in a new window.

### history-clear

Syntax: `:history-clear [--force]`

Clear all browsing history.

Note this only clears the global history (e.g. `~/.local/share/qutebrowser/history` on Linux) but not cookies, the back/forward history of a tab, cache or other persistent data.

#### optional arguments

- `-f`, `--force`: Don’t ask for confirmation.

### home

Open main startpage in current tab.

### insert-text

Syntax: `:insert-text text`

Insert text at cursor position.

#### positional arguments

- `text`: The text to insert.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### inspector

Toggle the web inspector.

Note: Due a bug in Qt, the inspector will show incorrect request headers in the network tab.

### jseval

Syntax: `:jseval [--file] [--quiet] [--world world] js-code`

Evaluate a JavaScript string.

#### positional arguments

- `js-code`: The string/file to evaluate.

#### optional arguments

- `-f`, `--file`: Interpret js-code as a path to a file. If the path is relative, the file is searched in a js/ subdir in qutebrowser’s data dir, e.g. `~/.local/share/qutebrowser/js`.

- `-q`, `--quiet`: Don’t show resulting JS object.

- `-w`, `--world`: Ignored on QtWebKit. On QtWebEngine, a world ID or name to run the snippet in.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

- With this command, `;;` is interpreted literally instead of splitting off a second command.

### jump-mark

Syntax: `:jump-mark key`

Jump to the mark named by `key`.

#### positional arguments

- `key`: mark identifier; capital indicates a global mark

### later

Syntax: `:later ms command`

Execute a command after some time.

#### positional arguments

- `ms`: How many milliseconds to wait.

- `command`: The command to run, with optional args.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

- With this command, `;;` is interpreted literally instead of splitting off a second command.

- This command does not replace variables like `{url}`.

### message-error

Syntax: `:message-error text`

Show an error message in the statusbar.

#### positional arguments

- `text`: The text to show.

### message-info

Syntax: `:message-info text`

Show an info message in the statusbar.

#### positional arguments

- `text`: The text to show.

#### count

How many times to show the message

### message-warning

Syntax: `:message-warning text`

Show a warning message in the statusbar.

#### positional arguments

- `text`: The text to show.

### messages

Syntax: `:messages [--plain] [--tab] [--bg] [--window] [level]`

Show a log of past messages.

#### positional arguments

- `level`: Include messages with `level` or higher severity. Valid values: vdebug, debug, info, warning, error, critical.

#### optional arguments

- `-p`, `--plain`: Whether to show plaintext (as opposed to html).

- `-t`, `--tab`: Open in a new tab.

- `-b`, `--bg`: Open in a background tab.

- `-w`, `--window`: Open in a new window.

### navigate

Syntax: `:navigate [--tab] [--bg] [--window] where`

Open typical prev/next links or navigate using the URL path.

This tries to automatically click on typical Previous Page or Next Page links using some heuristics. Alternatively it can navigate by changing the current URL.

#### positional arguments

- `where`: What to open.

  - `prev`: Open a previous link.

  - `next`: Open a next link.

  - `up`: Go up a level in the current URL.

  - `increment`: Increment the last number in the URL.

  - `decrement`: Decrement the last number in the URL.

#### optional arguments

- `-t`, `--tab`: Open in a new tab.

- `-b`, `--bg`: Open in a background tab.

- `-w`, `--window`: Open in a new window.

#### count

For `increment` and `decrement`, the number to change the URL by. For `up`, the number of levels to go up in the URL.

### nop

Do nothing.

### open

Syntax: `:open [--related] [--bg] [--tab] [--window] [--secure] [--private] [url]`

Open a URL in the current/[count]th tab.

If the URL contains newlines, each line gets opened in its own tab.

#### positional arguments

- `url`: The URL to open.

#### optional arguments

- `-r`, `--related`: If opening a new tab, position the tab as related to the current one (like clicking on a link).

- `-b`, `--bg`: Open in a new background tab.

- `-t`, `--tab`: Open in a new tab.

- `-w`, `--window`: Open in a new window.

- `-s`, `--secure`: Force HTTPS.

- `-p`, `--private`: Open a new window in private browsing mode.

#### count

The tab index to open the URL in.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### open-editor

Open an external editor with the currently selected form field.

The editor which should be launched can be configured via the `editor.command` config option.

### print

Syntax: `:print [--preview] [--pdf file]`

Print the current/[count]th tab.

#### optional arguments

- `-p`, `--preview`: Show preview instead of printing.

- `-f`, `--pdf`: The file path to write the PDF to.

#### count

The tab index to print.

### quickmark-add

Syntax: `:quickmark-add url name`

Add a new quickmark.

You can view all saved quickmarks on the bookmarks page.

#### positional arguments

- `url`: The url to add as quickmark.

- `name`: The name for the new quickmark.

### quickmark-del

Syntax: `:quickmark-del [name]`

Delete a quickmark.

#### positional arguments

- `name`: The name of the quickmark to delete. If not given, delete the quickmark for the current page (choosing one arbitrarily if there are more than one).

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### quickmark-load

Syntax: `:quickmark-load [--tab] [--bg] [--window] name`

Load a quickmark.

#### positional arguments

- `name`: The name of the quickmark to load.

#### optional arguments

- `-t`, `--tab`: Load the quickmark in a new tab.

- `-b`, `--bg`: Load the quickmark in a new background tab.

- `-w`, `--window`: Load the quickmark in a new window.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### quickmark-save

Save the current page as a quickmark.

### quit

Syntax: `:quit [--save] [session]`

Quit qutebrowser.

#### positional arguments

- `session`: The name of the session to save.

#### optional arguments

- `-s`, `--save`: When given, save the open windows even if auto_save.session is turned off.

### record-macro

Syntax: `:record-macro [register]`

Start or stop recording a macro.

#### positional arguments

- `register`: Which register to store the macro in.

### reload

Syntax: `:reload [--force]`

Reload the current/[count]th tab.

#### optional arguments

- `-f`, `--force`: Bypass the page cache.

#### count

The tab index to reload.

### repeat

Syntax: `:repeat times command`

Repeat a given command.

#### positional arguments

- `times`: How many times to repeat.

- `command`: The command to run, with optional args.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

- With this command, `;;` is interpreted literally instead of splitting off a second command.

- This command does not replace variables like `{url}`.

### repeat-command

Repeat the last executed command.

#### count

Which count to pass the command.

### report

Report a bug in qutebrowser.

### restart

Restart qutebrowser while keeping existing tabs open.

### run-macro

Syntax: `:run-macro [register]`

Run a recorded macro.

#### positional arguments

- `register`: Which macro to run.

#### count

How many times to run the macro.

### run-with-count

Syntax: `:run-with-count count-arg command`

Run a command with the given count.

If run_with_count itself is run with a count, it multiplies count_arg.

#### positional arguments

- `count-arg`: The count to pass to the command.

- `command`: The command to run, with optional args.

#### count

The count that run_with_count itself received.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

- With this command, `;;` is interpreted literally instead of splitting off a second command.

- This command does not replace variables like `{url}`.

### save

Syntax: `:save [what [what …]]`

Save configs and state.

#### positional arguments

- `what`: What to save (`config`/`key-config`/`cookies`/…). If not given, everything is saved.

### scroll

Syntax: `:scroll direction`

Scroll the current tab in the given direction.

Note you can use `:run-with-count` to have a keybinding with a bigger scroll increment.

#### positional arguments

- `direction`: In which direction to scroll (up/down/left/right/top/bottom).

#### count

multiplier

### scroll-page

Syntax: `:scroll-page [--top-navigate ACTION] [--bottom-navigate ACTION] x y`

Scroll the frame page-wise.

#### positional arguments

- `x`: How many pages to scroll to the right.

- `y`: How many pages to scroll down.

#### optional arguments

- `-t`, `--top-navigate`: :navigate action (prev, decrement) to run when scrolling up at the top of the page.

- `-b`, `--bottom-navigate`: :navigate action (next, increment) to run when scrolling down at the bottom of the page.

#### count

multiplier

### scroll-px

Syntax: `:scroll-px dx dy`

Scroll the current tab by count * dx/dy pixels.

#### positional arguments

- `dx`: How much to scroll in x-direction.

- `dy`: How much to scroll in y-direction.

#### count

multiplier

### scroll-to-perc

Syntax: `:scroll-to-perc [--horizontal] [perc]`

Scroll to a specific percentage of the page.

The percentage can be given either as argument or as count. If no percentage is given, the page is scrolled to the end.

#### positional arguments

- `perc`: Percentage to scroll.

#### optional arguments

- `-x`, `--horizontal`: Scroll horizontally instead of vertically.

#### count

Percentage to scroll.

### search

Syntax: `:search [--reverse] [text]`

Search for a text on the current page. With no text, clear results.

#### positional arguments

- `text`: The text to search for.

#### optional arguments

- `-r`, `--reverse`: Reverse search direction.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### search-next

Continue the search to the ([count]th) next term.

#### count

How many elements to ignore.

### search-prev

Continue the search to the ([count]th) previous term.

#### count

How many elements to ignore.

### session-delete

Syntax: `:session-delete [--force] name`

Delete a session.

#### positional arguments

- `name`: The name of the session.

#### optional arguments

- `-f`, `--force`: Force deleting internal sessions (starting with an underline).

### session-load

Syntax: `:session-load [--clear] [--temp] [--force] name`

Load a session.

#### positional arguments

- `name`: The name of the session.

#### optional arguments

- `-c`, `--clear`: Close all existing windows.

- `-t`, `--temp`: Don’t set the current session for :session-save.

- `-f`, `--force`: Force loading internal sessions (starting with an underline).

### session-save

Syntax: `:session-save [--current] [--quiet] [--force] [--only-active-window] [--with-private] [name]`

Save a session.

#### positional arguments

- `name`: The name of the session. If not given, the session configured in session.default_name is saved.

#### optional arguments

- `-c`, `--current`: Save the current session instead of the default.

- `-q`, `--quiet`: Don’t show confirmation message.

- `-f`, `--force`: Force saving internal sessions (starting with an underline).

- `-o`, `--only-active-window`: Saves only tabs of the currently active window.

- `-p`, `--with-private`: Include private windows.

### set

Syntax: `:set [--temp] [--print] [option] [value]`

Set an option.

If the option name ends with ?, the value of the option is shown instead.

#### positional arguments

- `option`: The name of the option.

- `value`: The value to set.

#### optional arguments

- `-t`, `--temp`: Set value temporarily until qutebrowser is closed.

- `-p`, `--print`: Print the value after setting.

### set-cmd-text

Syntax: `:set-cmd-text [--space] [--append] [--run-on-count] text`

Preset the statusbar to some text.

#### positional arguments

- `text`: The commandline to set.

#### optional arguments

- `-s`, `--space`: If given, a space is added to the end.

- `-a`, `--append`: If given, the text is appended to the current text.

- `-r`, `--run-on-count`: If given with a count, the command is run with the given count rather than setting the command text.

#### count

The count if given.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### set-mark

Syntax: `:set-mark key`

Set a mark at the current scroll position in the current tab.

#### positional arguments

- `key`: mark identifier; capital indicates a global mark

### spawn

Syntax: `:spawn [--userscript] [--verbose] [--output] [--detach] cmdline`

Spawn a command in a shell.

#### positional arguments

- `cmdline`: The commandline to execute.

#### optional arguments

- `-u`, `--userscript`: Run the command as a userscript. You can use an absolute path, or store the userscript in one of those locations:

  - `~/.local/share/qutebrowser/userscripts` (or `$XDG_DATA_DIR`)

  - `/usr/share/qutebrowser/userscripts`

- `-v`, `--verbose`: Show notifications when the command started/exited.

- `-o`, `--output`: Whether the output should be shown in a new tab.

- `-d`, `--detach`: Whether the command should be detached from qutebrowser.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### stop

Stop loading in the current/[count]th tab.

#### count

The tab index to stop.

### tab-clone

Syntax: `:tab-clone [--bg] [--window]`

Duplicate the current tab.

#### optional arguments

- `-b`, `--bg`: Open in a background tab.

- `-w`, `--window`: Open in a new window.

### tab-close

Syntax: `:tab-close [--prev] [--next] [--opposite] [--force]`

Close the current/[count]th tab.

#### optional arguments

- `-p`, `--prev`: Force selecting the tab before the current tab.

- `-n`, `--next`: Force selecting the tab after the current tab.

- `-o`, `--opposite`: Force selecting the tab in the opposite direction of what’s configured in tabs.select_on_remove.

- `-f`, `--force`: Avoid confirmation for pinned tabs.

#### count

The tab index to close

### tab-focus

Syntax: `:tab-focus [index]`

Select the tab given as argument/[count].

If neither count nor index are given, it behaves like tab-next. If both are given, use count.

#### positional arguments

- `index`: The tab index to focus, starting with 1. The special value `last` focuses the last focused tab (regardless of count). Negative indices count from the end, such that -1 is the last tab.

#### count

The tab index to focus, starting with 1.

### tab-give

Syntax: `:tab-give [win-id]`

Give the current tab to a new or existing window if win_id given.

If no win_id is given, the tab will get detached into a new window.

#### positional arguments

- `win-id`: The window ID of the window to give the current tab to.

### tab-move

Syntax: `:tab-move [index]`

Move the current tab according to the argument and [count].

If neither is given, move it to the first position.

#### positional arguments

- `index`: `+` or `-` to move relative to the current tab by count, or a default of 1 space. A tab index to move to that index.

#### count

If moving relatively: Offset. If moving absolutely: New position (default: 0). This overrides the index argument, if given.

### tab-next

Switch to the next tab, or switch [count] tabs forward.

#### count

How many tabs to switch forward.

### tab-only

Syntax: `:tab-only [--prev] [--next] [--force]`

Close all tabs except for the current one.

#### optional arguments

- `-p`, `--prev`: Keep tabs before the current.

- `-n`, `--next`: Keep tabs after the current.

- `-f`, `--force`: Avoid confirmation for pinned tabs.

### tab-pin

Pin/Unpin the current/[count]th tab.

Pinning a tab shrinks it to the size of its title text. Attempting to close a pinned tab will cause a confirmation, unless --force is passed.

#### count

The tab index to pin or unpin

### tab-prev

Switch to the previous tab, or switch [count] tabs back.

#### count

How many tabs to switch back.

### tab-take

Syntax: `:tab-take index`

Take a tab from another window.

#### positional arguments

- `index`: The [win_id/]index of the tab to take. Or a substring in which case the closest match will be taken.

### unbind

Syntax: `:unbind [--mode mode] key`

Unbind a keychain.

#### positional arguments

- `key`: The keychain or special key (inside <…>) to unbind.

#### optional arguments

- `-m`, `--mode`: A mode to unbind the key in (default: `normal`). See `:help bindings.commands` for the available modes.

### undo

Re-open the last closed tab or tabs.

### version

Show version information.

### view-source

Show the source of the current page in a new tab.

### window-only

Close all windows except for the current one.

### yank

Syntax: `:yank [--sel] [--keep] [what]`

Yank something to the clipboard or primary selection.

#### positional arguments

- `what`: What to yank.

  - `url`: The current URL.

  - `pretty-url`: The URL in pretty decoded form.

  - `title`: The current page’s title.

  - `domain`: The current scheme, domain, and port number.

  - `selection`: The selection under the cursor.

#### optional arguments

- `-s`, `--sel`: Use the primary selection instead of the clipboard.

- `-k`, `--keep`: Stay in visual mode after yanking the selection.

### zoom

Syntax: `:zoom [zoom]`

Set the zoom level for the current tab.

The zoom can be given as argument or as [count]. If neither is given, the zoom is set to the default zoom. If both are given, use [count].

#### positional arguments

- `zoom`: The zoom percentage to set.

#### count

The zoom percentage to set.

### zoom-in

Increase the zoom level for the current tab.

#### count

How many steps to zoom in.

### zoom-out

Decrease the zoom level for the current tab.

#### count

How many steps to zoom out.

## Commands not usable in normal mode

Table 2. Quick reference
Command | Description
--- | ---
command-accept | Execute the command currently in the commandline.
command-history-next | Go forward in the commandline history.
command-history-prev | Go back in the commandline history.
completion-item-del | Delete the current completion item.
completion-item-focus | Shift the focus of the completion menu to another item.
completion-item-yank | Yank the current completion item into the clipboard.
drop-selection | Drop selection and keep selection mode enabled.
follow-hint | Follow a hint.
leave-mode | Leave the mode we’re currently in.
move-to-end-of-document | Move the cursor or selection to the end of the document.
move-to-end-of-line | Move the cursor or selection to the end of line.
move-to-end-of-next-block | Move the cursor or selection to the end of next block.
move-to-end-of-prev-block | Move the cursor or selection to the end of previous block.
move-to-end-of-word | Move the cursor or selection to the end of the word.
move-to-next-char | Move the cursor or selection to the next char.
move-to-next-line | Move the cursor or selection to the next line.
move-to-next-word | Move the cursor or selection to the next word.
move-to-prev-char | Move the cursor or selection to the previous char.
move-to-prev-line | Move the cursor or selection to the prev line.
move-to-prev-word | Move the cursor or selection to the previous word.
move-to-start-of-document | Move the cursor or selection to the start of the document.
move-to-start-of-line | Move the cursor or selection to the start of the line.
move-to-start-of-next-block | Move the cursor or selection to the start of next block.
move-to-start-of-prev-block | Move the cursor or selection to the start of previous block.
prompt-accept | Accept the current prompt.
prompt-item-focus | Shift the focus of the prompt file completion menu to another item.
prompt-open-download | Immediately open a download.
rl-backward-char | Move back a character.
rl-backward-delete-char | Delete the character before the cursor.
rl-backward-kill-word | Remove chars from the cursor to the beginning of the word.
rl-backward-word | Move back to the start of the current or previous word.
rl-beginning-of-line | Move to the start of the line.
rl-delete-char | Delete the character after the cursor.
rl-end-of-line | Move to the end of the line.
rl-forward-char | Move forward a character.
rl-forward-word | Move forward to the end of the next word.
rl-kill-line | Remove chars from the cursor to the end of the line.
rl-kill-word | Remove chars from the cursor to the end of the current word.
rl-unix-filename-rubout | Remove chars from the cursor to the previous path separator.
rl-unix-line-discard | Remove chars backward from the cursor to the beginning of the line.
rl-unix-word-rubout | Remove chars from the cursor to the beginning of the word.
rl-yank | Paste the most recently deleted text.
toggle-selection | Toggle caret selection mode.

### command-accept

Syntax: `:command-accept [--rapid]`

Execute the command currently in the commandline.

#### optional arguments

- `-r`, `--rapid`: Run the command without closing or clearing the command bar.

### command-history-next

Go forward in the commandline history.

### command-history-prev

Go back in the commandline history.

### completion-item-del

Delete the current completion item.

### completion-item-focus

Syntax: `:completion-item-focus [--history] which`

Shift the focus of the completion menu to another item.

#### positional arguments

- `which`: next, prev, next-category, or prev-category.

#### optional arguments

- `-H`, `--history`: Navigate through command history if no text was typed.

### completion-item-yank

Syntax: `:completion-item-yank [--sel]`

Yank the current completion item into the clipboard.

#### optional arguments

- `-s`, `--sel`: Use the primary selection instead of the clipboard.

### drop-selection

Drop selection and keep selection mode enabled.

### follow-hint

Syntax: `:follow-hint [keystring]`

Follow a hint.

#### positional arguments

- `keystring`: The hint to follow.

### leave-mode

Leave the mode we’re currently in.

### move-to-end-of-document

Move the cursor or selection to the end of the document.

### move-to-end-of-line

Move the cursor or selection to the end of line.

### move-to-end-of-next-block

Move the cursor or selection to the end of next block.

#### count

How many blocks to move.

### move-to-end-of-prev-block

Move the cursor or selection to the end of previous block.

#### count

How many blocks to move.

### move-to-end-of-word

Move the cursor or selection to the end of the word.

#### count

How many words to move.

### move-to-next-char

Move the cursor or selection to the next char.

#### count

How many lines to move.

### move-to-next-line

Move the cursor or selection to the next line.

#### count

How many lines to move.

### move-to-next-word

Move the cursor or selection to the next word.

#### count

How many words to move.

### move-to-prev-char

Move the cursor or selection to the previous char.

#### count

How many chars to move.

### move-to-prev-line

Move the cursor or selection to the prev line.

#### count

How many lines to move.

### move-to-prev-word

Move the cursor or selection to the previous word.

#### count

How many words to move.

### move-to-start-of-document

Move the cursor or selection to the start of the document.

### move-to-start-of-line

Move the cursor or selection to the start of the line.

### move-to-start-of-next-block

Move the cursor or selection to the start of next block.

#### count

How many blocks to move.

### move-to-start-of-prev-block

Move the cursor or selection to the start of previous block.

#### count

How many blocks to move.

### prompt-accept

Syntax: `:prompt-accept [value]`

Accept the current prompt.

#### positional arguments

- `value`: If given, uses this value instead of the entered one. For boolean prompts, "yes"/"no" are accepted as value.

### prompt-item-focus

Syntax: `:prompt-item-focus which`

Shift the focus of the prompt file completion menu to another item.

#### positional arguments

- `which`: next, prev

### prompt-open-download

Syntax: `:prompt-open-download [cmdline]`

Immediately open a download.

If no specific command is given, this will use the system’s default application to open the file.

#### positional arguments

- `cmdline`: The command which should be used to open the file. A `{}` is expanded to the temporary file name. If no `{}` is present, the filename is automatically appended to the cmdline.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

### rl-backward-char

Move back a character.

This acts like readline’s backward-char.

### rl-backward-delete-char

Delete the character before the cursor.

This acts like readline’s backward-delete-char.

### rl-backward-kill-word

Remove chars from the cursor to the beginning of the word.

This acts like readline’s backward-kill-word. Any non-alphanumeric character is considered a word delimiter.

### rl-backward-word

Move back to the start of the current or previous word.

This acts like readline’s backward-word.

### rl-beginning-of-line

Move to the start of the line.

This acts like readline’s beginning-of-line.

### rl-delete-char

Delete the character after the cursor.

This acts like readline’s delete-char.

### rl-end-of-line

Move to the end of the line.

This acts like readline’s end-of-line.

### rl-forward-char

Move forward a character.

This acts like readline’s forward-char.

### rl-forward-word

Move forward to the end of the next word.

This acts like readline’s forward-word.

### rl-kill-line

Remove chars from the cursor to the end of the line.

This acts like readline’s kill-line.

### rl-kill-word

Remove chars from the cursor to the end of the current word.

This acts like readline’s kill-word.

### rl-unix-filename-rubout

Remove chars from the cursor to the previous path separator.

This acts like readline’s unix-filename-rubout.

### rl-unix-line-discard

Remove chars backward from the cursor to the beginning of the line.

This acts like readline’s unix-line-discard.

### rl-unix-word-rubout

Remove chars from the cursor to the beginning of the word.

This acts like readline’s unix-word-rubout. Whitespace is used as a word delimiter.

### rl-yank

Paste the most recently deleted text.

This acts like readline’s yank.

### toggle-selection

Toggle caret selection mode.

## Debugging commands

These commands are mainly intended for debugging. They are hidden if qutebrowser was started without the `--debug`-flag.

Table 3. Quick reference
Command | Description
--- | ---
debug-all-objects | Print a list of all objects to the debug log.
debug-cache-stats | Print LRU cache stats.
debug-clear-ssl-errors | Clear remembered SSL error answers.
debug-console | Show the debugging console.
debug-crash | Crash for debugging purposes.
debug-dump-history | Dump the history to a file in the old pre-SQL format.
debug-dump-page | Dump the current page’s content to a file.
debug-log-capacity | Change the number of log lines to be stored in RAM.
debug-log-filter | Change the log filter for console logging.
debug-log-level | Change the log level for console logging.
debug-pyeval | Evaluate a python string and display the results as a web page.
debug-set-fake-clipboard | Put data into the fake clipboard and enable logging, used for tests.
debug-trace | Trace executed code via hunter.
debug-webaction | Execute a webaction.

### debug-all-objects

Print a list of all objects to the debug log.

### debug-cache-stats

Print LRU cache stats.

### debug-clear-ssl-errors

Clear remembered SSL error answers.

### debug-console

Show the debugging console.

### debug-crash

Syntax: `:debug-crash [typ]`

Crash for debugging purposes.

#### positional arguments

- `typ`: either exception or segfault.

### debug-dump-history

Syntax: `:debug-dump-history dest`

Dump the history to a file in the old pre-SQL format.

#### positional arguments

- `dest`: Where to write the file to.

### debug-dump-page

Syntax: `:debug-dump-page [--plain] dest`

Dump the current page’s content to a file.

#### positional arguments

- `dest`: Where to write the file to.

#### optional arguments

- `-p`, `--plain`: Write plain text instead of HTML.

### debug-log-capacity

Syntax: `:debug-log-capacity capacity`

Change the number of log lines to be stored in RAM.

#### positional arguments

- `capacity`: Number of lines for the log.

### debug-log-filter

Syntax: `:debug-log-filter filters`

Change the log filter for console logging.

#### positional arguments

- `filters`: A comma separated list of logger names. Can also be "none" to clear any existing filters.

### debug-log-level

Syntax: `:debug-log-level level`

Change the log level for console logging.

#### positional arguments

- `level`: The log level to set.

### debug-pyeval

Syntax: `:debug-pyeval [--file] [--quiet] s`

Evaluate a python string and display the results as a web page.

#### positional arguments

- `s`: The string to evaluate.

#### optional arguments

- `-f`, `--file`: Interpret s as a path to file, also implies --quiet.

- `-q`, `--quiet`: Don’t show the output in a new tab.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

- With this command, `;;` is interpreted literally instead of splitting off a second command.

### debug-set-fake-clipboard

Syntax: `:debug-set-fake-clipboard [s]`

Put data into the fake clipboard and enable logging, used for tests.

#### positional arguments

- `s`: The text to put into the fake clipboard, or unset to enable logging.

### debug-trace

Syntax: `:debug-trace [expr]`

Trace executed code via hunter.

#### positional arguments

- `expr`: What to trace, passed to hunter.

#### note

- This command does not split arguments after the last argument and handles quotes literally.

- With this command, `;;` is interpreted literally instead of splitting off a second command.

### debug-webaction

Syntax: `:debug-webaction action`

Execute a webaction.

Available actions: http://doc.qt.io/archives/qt-5.5/qwebpage.html#WebAction-enum (WebKit) http://doc.qt.io/qt-5/qwebenginepage.html#WebAction-enum (WebEngine)

#### positional arguments

- `action`: The action to execute, e.g. MoveToNextChar.

#### count

How many times to repeat the action.